Syllabus

Course Information

  • CSC230, Spring 2026
  • Meeting time: Tuesday/Thursday2:45 PM – 4:00 PM
  • Location: Seelye 106
  • Primary Instructor: Dr. Halie Rando (she/her) (Prof. Rando, Dr. Rando, Halie, or Prof. Halie)
  • Email: hrando@smith.edu
  • Office: Bass Hall 109
  • Office hours: Monday 3:30 – 4:30, Wednesday 10:00 – 11:00, Friday 2:00 – 3:00

Welcome to CSC230: Introduction to Database Systems! This course explores how and why we store data, how database systems are designed, and how to choose appropriate designs for real-world needs.

Course Description and Goals

Data storage and access is fundamental to computing. In Data Structures (CSC210 or CSC212), you learned strategies for storing and accessing information in RAM. In this course, we consider when, why, and how to store data more permanently. Secure, reliable, and fast access to data is fundamental to modern life, including commerce, social media, government, research, and more. We will investigate how the design and use of database systems has evolved over the past 50+ years, with an emphasis on the challenges associated with the big data revolution. This semester, our course will focus on real-world challenges in storing and collecting data relevant to the needs of researchers at Smith and organizations in the community. This course is organized around what information systems can and cannot know.

Learning Goals

Upon completing this course, students will:

  • Master core concepts in data storage and access.
  • Understand the pros and cons of different database designs for different use cases.
  • Design databases for efficiency, scalability, and reliability.
  • Understand the impacts and application of databases in a domain of interest.

Prerequisite

CSC210 (or CSC212) or permission of the instructor.

Course Format and Student Responsibilities

Students are expected to come to class having done the reading and practice problems so that we can focus on more complex activities in class. Students will complete weekly assignments related to the current topic and submit either reflections or problem sets via Gradescope.

As this is a four-credit course meeting for 2.5 hours per week, students should expect to spend approximately 9.5 hours outside of class on readings and assignments.

Respectful, collaborative conduct is a requirement of this class. Disrespectful behavior towards peers, instructors, or TAs will not be tolerated and may result in being asked to leave for the remainder of the session. Repeated issues may lead to involvement of the academic integrity board and/or class deans. People of all backgrounds (cultural and national identities, ancestry, religions, gender expression, sexual orientation, abilities, major, etc.) are welcome in this class.

Course Materials

This semester we are using a classic textbook, Database Systems: The Complete Book (Ullman, Widom, and Garcia-Molina), often called “Ullman–Widom.” This text provides a rigorous and comprehensive introduction to database systems, including data modeling, relational algebra, SQL, constraints, and foundational theory. Readings from the textbook will form the basis for many in-class discussions and activities.

Readings will be assigned by chapter and section using the second edition of Ullman–Widom. Other editions are acceptable; while page numbers and section numbering may vary slightly, the core content is the same.

Occasionally, I will assign readings outside of Ullman–Widom, including scientific articles.

To support your learning, we will also use Gradiance, an online homework system that accompanies the textbook. Gradiance provides short, automatically graded problem sets aligned with specific sections of the book. These assignments are designed to help you check your understanding of core concepts and get immediate feedback as you work through the material.

Gradiance assignments are meant to be low-stakes practice, not high-pressure exams. They complement (rather than replace) our in-class activities, projects, and reflections, which focus on applying database ideas in more open-ended and creative ways.

The Gradiance class token will be posted on Moodle.

As a note, Database Systems: The Complete Book is an older text, which comes with both strengths and limitations. One advantage is accessibility: you should be able to find a copy inexpensively (or possibly free). One limitation is that some examples reflect outdated assumptions, particularly around gender and family structure, that are not consistent with our world today (for example, assuming all families have a mother and a father, or treating sex and gender as interchangeable or binary). These examples are not central to the book’s pedagogical value. When they appear in assigned readings, we will either skip over them or explicitly flag them in advance.

Communication & Response Norms

The course website is the source of truth for policies, deadlines, and updates. Please use the channels below to keep questions organized and response times predictable.

Primary channels

  • Slack is for general course questions, peer help, and TA support. I do not monitor Slack continuously.
  • Email is for private or time-sensitive matters.
  • Moodle may be used occasionally for submissions or feedback, but Gradiance and Gradescope are the defaults for submissions.

Slack expectations

  • Slack is asynchronous, not real-time chat.
  • Slack is primarily for students to communicate with and support each other, though the teaching staff tries to check the public channels at least once per day.
  • Responses may take time, especially outside business hours.
  • I do not monitor Slack continuously or outside business hours.
  • Slack DMs are strongly discouraged; use public channels instead.
  • Office hour changes will be posted in the #announcements channel.
  • Feel free to post playfully relevant content in #random.

Email expectations

  • Email is checked once per business day.
  • You can expect a response within 24–48 business hours.
  • Emails sent outside business hours are treated as arriving the next business day.
  • Emails about CSC230 should use the subject line format CSC230: <brief description>.

How to ask for help effectively

  • Put your full question in one message.
  • Include context (assignment name, deadline, and what you tried).
  • Avoid sending multiple follow-ups before receiving a reply.
  • You may be redirected to post on slack or attend office hours.

Requests that require advance notice

Some requests (extensions, special arrangements) require advance notice and may have additional requirements. Please consult the course website for details.

Office hour cancellations

If office hours are cancelled, students may attend any remaining office hours that week or use email to ask brief questions. No student will be penalized for missing office hours due to a cancellation.

Assessment

There are four forms of assessment in this course:

  • Homework assignments
  • Take-Home midterm exam
  • Final project
  • Class participation

The take-home exam is due Thursday, March 12, 2026.

CategoryPercentage
Homework assignments50%
In-class participation12.5%
Midterm exam12.5%
Final project25%

Final Project

The final project is a particularly fun and unique component of CSC 230. In a few weeks, you will be assigned to a group and matched with a stakeholder who has data management needs beyond what their current infrastructure can support. Oftentimes, their data is stored in Excel spreadsheets or similar and they need a relational database, but different projects have different needs. We will do the best to match you with a project that fits your interests/preferences.

In support of the final project, there will be weekly checkpoints for the final project in the second half of the semester, and some of our class days will be spent working on projects in class. Not every skill you need for the final project will be taught as part of the main curriculum because you are given a lot of flexibility in how you solve your stakeholder’s problems. The expectation is that you are able to engage in self-directed learning with support to fill in the skills you need. During in-class work sessions, I am ready and able to help you find the resources to learn new skills – please bring your questions to these sessions.

Collaboration and Academic Integrity

Students are expected to complete the assignments for this course by themselves, and will not benefit from relying much on others or on AI. Therefore, each student will be expected to follow this guideline: on individual assignments, nobody (including AI) should see your code or written work on an assignment but yourself and the members of the course staff. By extension, you should not see anybody else’s work either.

With the sole exception of your partner on any assignment specifically designated by the instructor for work in pairs, sharing code or the final write-up of a homework assignment is a violation of course policy and may result in a referral to the Academic Integrity Board. Similarly, taking code or answers found from other sources (such as the internet) and representing it as your own is dishonest and uniformly prohibited. Use of small portions of found code is acceptable if you are careful about documentation and attribution.

Despite the above, many forms of collaboration are specifically encouraged. On any assignment students may and should discuss algorithms, approaches, and issues that arise so long as they then compose their solutions separately. Students may also discuss any programs and code not directly related to the solution of a current or pending programming assignment. During in-class labs (as opposed to homework assignments), students are encouraged to help each other work through problems, and may review each others’ programs as necessary toward that goal. Finally, some assignments may be designated for pair programming; on these each pair may work together as one but should observe the usual restrictions above with regard to other pairs.

The final project will be collaborative, with students working in teams of 4–6 members. For this assignment, you are expected to use version control (git) to track member contributions. Additionally, it may be acceptable to use AI for peripheral components of the final project (e.g., if you want to represent your database through a web interface, please feel welcome and encouraged to use AI for frontend development so that your team members can focus on the backend.)

Use and Citation of Reference Materials

Students may consult online or print references on all assignments and labs. Standard language references showing syntax, usage, class documentation, etc. need not be cited. If you use a fragment of code (more than a single line) from some source other than the designated course textbook, you should document and credit the source with a comment in the code. As noted above, you must write the bulk of your program yourself.

If you use AI (e.g., ChatGPT) to help with your assignment, please submit a link to your conversation or a brief paragraph describing how you used it and what you learned.

TA Hours at the Spinelli Center

TA hours are a great resource for clarifying concepts, validating approaches, and catching small mistakes early. Attendance is optional but strongly encouraged, especially if you want a quick check-in before investing a lot of time. By default, CS TAs may discuss individual student issues and general class troubles with the course instructor. However, if you would like to attend TA hours confidentially, please let the TA know at every session. You are expected to collaborate with peers and TAs in these sessions. The use of generative AI is not permitted in TA hours.

Lateness Policy

CSC230 features frequent assignments, and many topics build week to week. Completing work on time keeps you on track, but we also recognize that schedules get busy. Use the extension policy when you need a little flexibility, and plan ahead if you anticipate a conflict.

You can request a 72-hour no-questions-asked extension via the Google Form (also linked from Moodle): https://docs.google.com/forms/d/e/1FAIpQLSdYfhC5fb3JWVF95fV02CaynFACyYjjUsCVjxDGlU9ZbEbaaQ/viewform?usp=header. You must submit this form prior to the deadline of the assignment. If you need an extension beyond 72 hours (under extreme circumstances), please contact the instructor via email.

Please note that your extension will not be valid if you do not adhere precisely to these procedures. Work received after the deadline without an extension or after the extension deadline will be treated as a regrade (i.e., graded when time permits, with no guarantee of feedback before the end of the semester).

Regrades

If you receive below 90% on an assignment, you are welcome to make corrections and resubmit it to earn points back. Regrades are capped at a maximum of 90% and must be submitted before the last day of classes (Friday, May 1, 2026 at 11:59 PM).

Electronic Device Policy

Used properly, computers can serve as a learning tool. Students should bring a laptop to class if possible for use during lab activities. If you do not have access to a laptop this semester, please reach out to me by email.

Many students also like to use their laptops to take notes, and perhaps to follow along during in-class demonstrations. On the other hand, electronic devices can also be a distraction from fully engaging in group activities. Studies also show that the act of making handwritten notes brings cognitive benefits not seen with typing. Students are asked to be responsible in their use of electronic devices during class, and to ensure that they do not detract from their own educational experience or that of their fellow students. Activities such as email, text/chat, online shopping, etc. should all be conducted outside of class time. During some activities, we will go into “clamshell” mode, where you are asked to close your computer or put away devices. These exercises should not require extensive writing or note taking. If you have concerns related to accommodations, please reach out.

What are office hours?

Office hours are times that faculty set aside to talk and connect with students. You can come with questions about the course, the major, your future, or just life. You can come to say hello, seek advice, clarify confusions, or ask questions. At the start of the semester, I ask every student to come to talk with me outside of class because I think useful conversations happen for both of us when we get to know one another in this way. If at any time you cannot fit the listed hours into your schedule, but you would like to chat, just send me an email with times you are available and we’ll find a time that works for us both.

Accessibility

We aim to make this course accessible and welcoming to all. Please let us know if there are any changes we can make towards meeting this goal. Students who would benefit from learning accommodations are encouraged to contact the professor at their earliest convenience so that appropriate arrangements may be made. Smith College can also help facilitate support services and accommodations to all students with disabilities. To request an accommodation, please register with the Accessibility Resources Center (formerly ODS).

Additional Considerations

We want everyone to succeed in this course. Self-identity is important, and we make a concerted effort to use correct names and pronouns. Students who feel comfortable in doing so are welcome to communicate any changes in how they’d like to be addressed.

Parents are very welcome in this class. If you have a child who is breast-/chest-feeding, your infant is welcome here. Please try to minimize noisy disruptions from children during class, and I recommend sitting by an exit in case they need a break.