Syllabus

Introduction

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 and json), query languages (SQL, datalog, etc), transactions, parallel data processing, and database as a service.

Grading, Assignments, and Late Policy

Grading

The approximate grade breakdown is as follows:

  • Homeworks: 60%

  • Midterm: 15%

  • Final: 25%

Homeworks

We will have 7 homeworks this quarter, offered approximately every week. Each homework will require some programming, and the tools we will use are:

  • SQLite

  • SQL Server on Windows Azure (Microsoft's Web Service)

  • Database application

  • Spark

  • AsterixDB

  • Datalog

Homeworks must be completed individually (ie, without collaboration). They are due at 11:59pm, UW time.

Late Policy

For homework assignments, you are allowed a total of 6 late days. A "late day" is defined as the 24-hour period after a due date: num_late_days = ceil(hours_late/24). Think of late days as an optional tool for managing your time; if CSE 344 were your only class, you wouldn't need it. In recognition of this fact, unused late days have no impact on your grade at the end of the quarter. On the other hand, if you exceed the late days afforded to you, you will lose 20% off your score for each day a homework is overdue. Regardless of how many late days you have remaining, no homework will be accepted after 2 days have elapsed.

Class participation

I reserve the right to adjust your total score up or down by up to 10 points for class participation. I do not keep regular records of your participation in class, but usually notice major outliers. For example I may notice students who repeatedly and consistently contribute interesting comments/questions/answers during the lectures or on Ed and may reward them with some extra points (usually these students don't benefit much from those extra points!). Or, on the contrary, I may notice students who consistently miss class or are consistently clueless during the lectures, and may decide to penalize them with a few points.

Resources

Office Hours and One-on-Ones

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

We recognize that not every question is appropriate for office 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 office hour. In these circumstances, we recommend requesting a one-on-one; send us an email at cse344-staff

Ed

Post on Ed your questions, comments, or discussions.

Gradescope and Canvas

We use gradescope for homework assignments, midterm and final. We use canvas for zoom links and/or panopto recordings. Your scores will eventually be moved from gradescope to canvas.

Textbooks

We will be using Database Systems: The Complete Book (2nd Edition) (errata here)

If you need an alternative explanation for a particular topic, the library has the following:

  • Fundamentals of Database Systems, by Elsmasri and Navathe

  • Database Management Systems, by Raghu Ramakrishnan and Johannes Gehrke

  • Foundations of Database Systems, by Abiteboul, Hull and Vianu

Anonymous feedback

  • Here. Notice that I cannot respond; use very sparingly.

Cheating and Collaboration Policy


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 definitely 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.

Learning collaboratively is different from sharing answers. A good rule-of-thumb for distinguishing between collaboration and sharing answers is this: Can I attempt an immaterially-different question (eg, calculating the max instead of the average), by myself, without my collaborator? If the answer is “yes”, then you learned from your collaboration; that’s great! Please do more of it! However, if the answer is “no”, then you were sharing answers. In particular:

  • Do not take away any work product, notes, or screenshots from your discussion. This includes writing code in lock-step with another person.

  • Cite the names of all of your collaborators, regardless of whether they are currently taking CSE 344.

  • For written assignments, take a 30 minute break before writing up your solution individually.

You are responsible for understanding and applying Allen School's Academic Misconduct Policy. If you are in doubt about what might constitute misconduct, send the course staff an email describing the situation and we will be happy to clarify it for you.

Masking Requirement

The university requires us to wear a mask indoors all the time. See here.

Sick Policy

If you feel sick, please stay home: see FAQ here. All lectures will be recorded (zoom or panopto), and you should be able to makeup easily.

Accomodations 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 any unforeseen or extenuating circumstance that arise during the course, please do not hesitate to contact the instructor to discuss your situation. The sooner we are made aware, the more easily these situations can be resolved. Extenuating circumstances may include work-school balance, familial responsibilities, unexpected travel, or anything else beyond your control that may negatively impact your performance in the class.