Course Goals

In this course we discuss principles of modern data management. We will cover the fundamentals of the relational data model and its query languages (SQL, Relational Algebra, Datalog), advanced execution and query optimization techniques, distributed query processing, and some aspects of transaction management. The lectures start by covering the basics, then discuss more advanced techniques, some of which are covered by the reading assignments.

Format

The class meets once per week. Most classes will consists of lecturing, but there will also be discussions. Please attend all lectures, since the material is not based on any particular text. Some of the material is available only in the lecture notes: if you miss lectures you may find it difficult to catch up.

Prerequisites

There are no formal prerequisites for the course. However, we expect you to have some knowledge of SQL, and definitely know programming. It is preferable, but not strictly necessary, that you have already taken some introductory course in databases prior to this class.

Textbook (useful for some topics, e.g. transactions)

Homework assignments

There are a few homework assignments. These assignments are practical assignments designed to help you get up to speed in using various kinds of relational database systems

Mini-Project

There will be a mini-programming project. For topics, we recommend that you choose to reproduce, or to extend one or several experiments reported in the papers reviewed during the class. At the end of the class you will give a short presentation of your project, and will turn in a project report, written like a short conference paper.

Grading

Assignments: 50%
Reviews: 25%
Mini-Project: 25%

Paper reading and commentaries

You will be asked to read and write short reviews for several papers. A typical review is about 1/2 to 1 page long, and should reflect your understanding and analysis of the issues raised by the paper, and should also help you for an in-class discussion on that topic. We will sometimes post some suggestions on what to focus your review on, but these are not mandatory. We will grade your review with 0, 1, or 2 points.

Sometimes students like to critique the paper, listing its biggest contribution (and, briefly, why that result was not already obvious), maybe pointing out its main weaknesses ( motivation, or methodology, or algorithm), or highlighting the biggest question raised in the paper, or the most interesting and important follow-on work that it suggests. Another possibility is to just summarize the paper, describing its motivation, approach, results, and conclusions, and stating why it is significant. The commentary should also list questions that you have about the paper, such as about technical points or connections to related work.

Late policy

  • We allow a maximum of 3 late days per homework assignment, but not more than a total of 6 late days in the entire quarter. Please use them only for special circumstances, like illness or a deadline at work. Once you exhaust the 6 days we will no longer accept your homework assignment under any circumstance.
  • We do not allow late days for paper reviews.

Collaboration policy

You are encouraged to discuss the content of this course with anyone you like. Assignments and paper reviews are done individually. The project can be done individually, or in a group of up to three students. If two teams pick the same project, we expect each team to produce original work different from that of other teams. Feel free to look-up any information on the web that you may find useful in completing the assignments, projects, or paper reviews.

Tools

postgres, Souffle, gitlab

Computer use policy

Some excerpts from the campus policies. Take them seriously: "You must use all UW [computing] resources in strict accordance with local, state, and federal laws. These laws cover such areas as illegal access to computer systems, networks, and files; copyright violations; and harassment issues... Software and information resources provided through the university for use by faculty, staff, and students may be used on computing equipment only as specified in the various software licenses. Unauthorized use of software, images, or files is regarded as a serious matter and any such use is without the consent of the University of Washington...If abuse of computer software, images, or files occurs, those responsible for such abuse will be held legally accountable."

Academic misconduct

See here.