CMSC724: Database Management Systems

Prof. Amol Deshpande;    CSI 1122;    Tue-Thu 11:00am-12:15pm

[Home] [Schedule] [Assignments] [Resources]

Office Hours:

IRB 5194; TBA;
Zoom TBA.

Background Expectations:

The pre-requisite for this course is full graduate standing and CMSC 424, the senior undergraduate Databases course. You are expected to be familiar with at least the basics of relational databases including relational model, relational algebra, normalization, B+-trees, buffer management, query processing, transactions, and ACID properties (or be ready to spend some time in the first few weeks on that background). In the first 2-3 classes, we will broadly cover this background material (at a fairly high level); the first few assignments are also background assignments whose aim is to help you brush up on the material.

Learning Goals:

This course is designed to prepare you for data management research, broadly defined. After attending the course, you should be able to read, understand, and hopefully critique a data management paper (e.g., most papers in database conferences like SIGMOD/VLDB/ICDE and also a large fraction of the papers in related conferences like KDD). Given a new application domain, you should also be able to ask the right questions to understand the key data management issues, and be able to design/suggest appropriate solutions. You should also be able to identify flaws (if any) with a proposed design or solution. You should also be able to devise and reason about abstraction (independence) layers and theirapplicability to the application domain. You should also have enough familiarity with how big data systems are built to be able to easily start using any of them, and reason about the observed performance of a deployed system, if only superficially.

Class forum:

This semester, we will use Slack for class discussion and communication. Sign up here.


This course covers advanced topics in Database Management systems, with a blend of classic and ongoing research. We will cover some of the classic papers in the area in the first half, and focus on more recent work in the second half. About 3/4th of the class will be presentations by me, though I expect these to be heavily interactive.

Textbook: Readings in Database Systems, by Bailis, Hellerstein, and Stonebraker, 5th Edition, 2015.

This is a compilation of papers in the Database area, but also contains some very nice overview chapters. The papers themselves are mostly available on the web. Unlike prior iterations of the class, we will focus more on recent research papers -- see schedule for more details.

The course counts towards the Database area's requirements for PhD core, MS comps, and MS coursework.

Course Grading:

The grading will be based on paper readings and written assignments (30%), programming assignments (20%), scribe notes (5%), final (15%), and a class project (30%). More details on the assignments tab.

Web Accessibility