Syllabus

Data is at the heart of modern commercial application development, and its use includes environments and domains where large amounts of data must be stored for efficient update, retrieval, and analysis. The purpose of this course is to provide a comprehensive introduction to the use of management systems for applications. Some of the topics covered are the following: data models (relational, json, etc), query languages (SQL, Datalog, etc), transactions, parallel data processing, and NoSQL.

Course Components and Late Policy

Grading

The grade breakdown is as follows:

Homeworks

We have homeworks with due dates approximately every week. They assess a variety of skills, including coding, database theory, and societal impacts. Homeworks must be submitted individually, but collaboration is permitted while working on them, subject to the guidelines below. Homeworks are always due Thursdays at 9pm.

Course Project

We have a single large course project at the end of the quarter, which synthesizes your understanding of course concepts such as SQL queries, schema design, query execution, and more. You will work in a medium-sized group (3-5 students) to design a real-world application and then give a short presentation during the final week of the quarter. More information about this project and its presentation will be provided later in the quarter.

Lecture Activities: Check-ins and Worksheets

Our Tuesday lectures have a variety of in-class activities, roughly broken down into lecture-oriented "check-ins" and section-oriented "worksheets".

Check-ins are before- and in-class thought questions designed to enhance the day's topics and to promote active learning. These are intended to be low-pressure and, for this reason, you will receive credit for completing the activity (ie, your answer can be incorrect).

Worksheets, in contrast, are problem sets which dive deeply into the day's topics and explore the concepts more thoroughly. Unlike check-ins, worksheets will be graded on correctness -- though you will frequently find that their answers are discussed in the day's lecture or section.

Check-ins and worksheets are both due on Tuesdays at 5pm the following week (ie, before the next lecture).

Late Policy for Homeworks

We expect homeworks to be submitted on time; however, we realize that our deadlines may overlap with a caregiving responsibility, or that work may schedule you for an unexpected shift, or that you may contract a routine illness. In recognition of this fact, you are allowed a total of 6 late day tokens, each of which can be redeemed for an extra 24 hours of work time after a duedate has elapsed. Typically, you may spend up to 2 tokens per homework, though some assignments may adjust this threshold. Regardless of how many late days you have remaining, no assignment will be accepted after 2 days have elapsed. Furthermore, unused tokens have no impact on your grade at the end of the quarter.

This late policy only applies to homeworks; there are absolutely no late submissions accepted for the course project or lecture activities (ie, check-ins and worksheets). However, please note that this policy is designed for quotidian events; if you have truly exceptional circumstances or need further accommodations, please contact the course staff to arrange an appropriate strategy for completing your work.

Exams

There are no exams for this course.

Course Norms

Climate

Our code and our projects are made better by considering a variety of viewpoints. Each student's experiences and abilities are essential to creating a thriving data science community, and you are expected to uphold a supportive and inclusive learning environment.

If, at any point, you are made to feel uncomfortable, disrespected, or excluded by a staff member or fellow student, please report the incident so that we may address the issue and maintain a supportive & inclusive learning environment. Should you feel uncomfortable bringing up an issue with a staff member directly, consider submitting anonymous feedback or contacting the Office of the Ombud.

Collaboration

Learning these ideas is challenging. We encourage you to discuss course activities with your friends and classmates as you are working on them, because you WILL learn more in this class if you work with others than if you do not. Ask questions, answer questions, and share ideas liberally; we want a class that is open, welcoming, and collaborative, where we can help each other build the highest possible understanding of the course material.

Interesting data science, the type of science which makes news and changes lives, are done by teams of data scientists working in collaboration; we intend to create a similar climate in this class. When working on lecture activities and the final project, you should ensure each member of your group is treated with respect and can make a contribution to the final solution.

Cheating

Alas, students often confuse collaboration with cheating. We want to be clear that learning collaboratively is different from sharing answers. Ultimately, the difference between collaboration and sharing answers boils down to "whose brain generated the materials I submitted for grading?". If the answer is "me", then you learned from your collaboration; that’s great! Please do more of that! Go you!! However, if the answer is "my collaborator", then you were sharing answers; please don't do that.

A healthy collaboration resembles this:

Treat coding assistants and generative AIs (eg, Github Copilot, OpenAI ChatGPT) as if they were another human; you may "discuss" class problems with these tools (eg, ask them to write an additional example or to explain code that you wrote), but your submitted materials must comply with the above (ie, be written independently and without referencing any output from that tool). When citing this non-human "collaborator", please also provide the prompts you used.

The guidelines for this course and more information about academic integrity are in separate documents (including, but not limited to, the Allen School's Academic Misconduct Page and the College of Engineering's Academic Misconduct Process). YOU are responsible for knowing and applying the information in these documents.

Accommodations and Extenuating Circumstances

Please refer to university policies regarding disability accommodations and religious accomodations. These policies have strict timelines associated with them, so we encourage you to read through and apply these policies at the start of the quarter if you believe they may apply to you.

More generally, we recognize that our students come from varied backgrounds and can have widely-varying circumstances. If you have an extenuating circumstance that arises during the course, please do not hesitate to contact the staff to discuss your situation. The sooner we are made aware, the more easily these situations can be resolved. Extenuating circumstances may include:

Resources

Support Hours and One-on-Ones

If you have conceptual questions or need assistance debugging your assignments, we strongly recommend attending support hours.

We recognize that not every question is appropriate for support hours, however. For example, you may wish to discuss your extenuating circumstances, need support/advice for a personal issue, or have followup questions from a previous support hour. In these circumstances, we recommend requesting a one-on-one.

Ed

We are using Ed for discussion and announcements. This includes both private "staff-only" discussion and public class-wide discussion.

Gradescope

We are using Gradescope for homeworks and lecture activities. This is the authoritative copy of your scores; we will not copy scores into Canvas.

Textbooks

We will be using Database Systems: The Complete Book (2nd Edition); errata can be found here. If you need an alternative explanation for a particular topic, the library has the following:

Anonymous Feedback

You can send fully-anonymous feedback to Hannah via this form; note that she cannot respond to your concerns directly.

If you would like to send semi-anonymous feedback, please email the MSDS staff at uwmsds@uw and they will forward your comments without attaching your identity; since they (but not Hannah) will know your identity, they can also forward Hannah's responses back to you.