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 first cover the basics, then discuss some of the advanced techniques covered in detail by the reading assignments.

Format

The class meets twice a 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 basic programming. It is preferable, but not strictly necessary, that you have already taken some introductory course in databases prior to this class.

Textbook

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 should turn in a project report, written like a short conference paper.

Grading

Assignments: 50%
Reviews: 20%
Mini-Project: 20%
Intangibles: 10%

Paper reading and commentaries

You will be asked to read and write short reviews for several papers. A typical review is about 1/2 page long, and should reflect your understanding and analysis of the issues raised by the paper, and should also help direct (both your and others') preparation for in-class discussion. We will sometimes post guiding questions on the lecture page to help you focus your writing. We will grade your response as credit / partial credit / no credit.

One suggestion for the format for the commentary is to critique the paper, listing the following three points: its biggest contribution (and, briefly, why that result was not already obvious), its biggest mistake (in motivation, methodology, algorithm, data analysis, conclusions, or some other area), and the biggest question that it raises (or the most interesting and important follow-on work that it suggests). Another acceptable format is to summarize the paper, describing its thesis, approach, 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

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

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, Snowflake, Souffle, Amazon Web Services

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.