CS 451/551

Database Processing

Fall 2024

Course Information

This is an upper-level course on the design and implementation of database management systems. In this course, we will be covering the following topics: relational data models, Structured Query Language (SQL), storage architecture (heaps, log-structured), indexing, hashing, query processing, transaction processing (ACID, concurrency control), recovery (logging, checkpoints), and parallel and distributed architectures. The course aims to help students gain an understanding of the database systems used in real-world applications.

Time: Tues/Thur 8:30am - 9:50am PST
Location: CHI 128

Instructor

Name Office Hours Location
Suyash Gupta Tuesday 10 - 11am Deschutes 334

Teaching Assistant

Name Office Hours Location
Steven Walton Mon/Thur 3 - 4pm Deschutes 245

Syllabus

Objectives

This is an upper-level course on the internals of database management systems. This course places a heavy emphasis on programming projects. There are also readings assigned for each class and two exams. Upon successful completion of this course, a student should be able to:

TextBooks

Grading Scheme

The final grade for the course will be based approximately on the following weights:

Assignments

Students will work in groups (3 or 4) to complete the assignments during the course. Each assignment is cumulative. That is, you need to successfully complete each project in order to complete the next one.

Each assignment carries 20% of the grade.

We will not teach students how to write/debug Python programs during the semester. It is a prerequisite for this course.

Exams

There will be two exams during the course. These exams will cover the mandatory readings and topics discussed in class. The first will be an in-class midterm exam. The second will be a final exam at during the University's final examination period at the end of the quarter.

Late Policy

Each person has an automatic extension of three calendar days for assignments only. For instance, you can hand in one assignment three days late, or each of three assignments one day late.

Late days are rounded up to the nearest integer. For example, a submission that is 3 hours late will count as one day late. When you hand in a late assignment, you must identify (1) how late this assignment is and (2) how many total extension days you have left. If you hand in a homework late and have used up your extension days for assignments, the grade will be zero.

Plaigarism

We expect each student group to work on their projects in isolation, while each student will complete the exam by themselves. You cannot copy any part of a solution that was written by another group/students, or develop your project or homework solutions together with other groups/students, or copy solutions from any unauthorized source such as the Internet. You may not look at another group/student's solution without permission from the course staff, even if you have completed your own, nor may you knowingly give your solution to another group/student or leave your solution where another group/student can see it.
Here are some examples of behavior that are inappropriate:

If your work contains any statement or code that was not written by you, you must clearly identify the derived work and cite the source. If you are paraphrasing an idea you read elsewhere, you must acknowledge the source. Using existing material without proper citation is plagiarism, a form of cheating. If there is any question about whether the material is permitted, you must get permission in advance.

It is not considered cheating to clarify vague points in the assignments, lectures, lecture notes, or to give help or receive help in using the computer systems, compilers, or other facilities.

Any violation of this policy is cheating. The minimum penalty for cheating (including plagiarism) will be a zero grade for the whole assignment; a typical penalty will be 0 on the project. Dishonesty while discussing an academic integrity issue (i.e. lying to course staff) usually results in an 'R' in the course. All violations of this collaboration policy will be referred to the appropriate University disciplinary board, with possible additional disciplinary action. For more information, see the University Policy on Academic Integrity.

If you have any question about how this policy applies in a particular situation, ask the instructors or TAs for clarification.

Schedule

Date Topic Slides
Oct 1 Relational Model & Algebra Slides
Oct 3 Structured Query Language Slides
Oct 8 Storage Slides
Oct 10 Searching & Indexing I Slides
Oct 15 Searching & Indexing II Slides
Oct 17 Hashing Slides
Oct 22 LSM-Trees Slides
Oct 24 Storage Models and Filters Slides
Oct 29 Query Processing I Slides
Oct 31 Midterm Exam TBD
Nov 7 Sorting and Transactions Slides
Nov 12 Concurrency Control I Slides
Nov 12 Two-Phase Locking Slides

Assignments

Name Release Date Due Data
Assignment 1 Oct 8, 2024 Oct 29, 2024
Assignment 2 Oct 30, 2024 Nov 15, 2024
Assignment 3 Nov 16, 2024 Dec 3, 2024