CMSC 724: Database Management Systems
Fall 2026, University of Maryland
Instructor: Prof. Amol Deshpande — IRB 2207
Lectures: Tuesday & Thursday, 12:30pm – 1:45pm
Office Hours: IRB 5194; TBA. Zoom TBA.
Background Expectations
The prerequisite 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 — the relational model, relational algebra, normalization, B+-trees, buffer management, query processing, transactions, and the ACID properties — or to be ready to spend some time in the first few weeks bringing yourself up to speed on that background.
In the first two to three classes we will cover this background material broadly, at a fairly high level. The first few assignments are also background assignments, whose aim is to help you brush up on the material. The Background (424 Review) lecture notes summarize exactly what is assumed and, at the end, list what to prioritize if you need to catch up.
Learning Goals
This course is designed to prepare you for data management research, broadly defined. After taking the course, you should be able to:
- Read, understand, and hopefully critique a data management paper — most papers in database conferences such as SIGMOD, VLDB, and ICDE, and a large fraction of papers in related conferences such as KDD.
- Given a new application domain, ask the right questions to understand the key data management issues, and design or suggest appropriate solutions.
- Identify flaws, if any, with a proposed design or solution.
- Devise and reason about abstraction (independence) layers and their applicability to an application domain.
- Have enough familiarity with how big data systems are built to start using any of them easily, and to reason about the observed performance of a deployed system, if only superficially.
Approach
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.
A large fraction of the class will be presentations by me, though I expect these to be heavily interactive. At least six classes, spread across three or more sessions, are given over to student-led presentation and discussion of recent conference papers, run as program-committee meetings. There is also a semester-long group research project.
There is no textbook for the course. I will be refining the Lecture Notes that are posted on this website throughout the semester.
Readings in Database Systems, by Bailis, Hellerstein, and Stonebraker, 5th Edition, 2015 has a nice compilation of classic papers in the database areas, as well as 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 the schedule for details.
The course counts toward the Database area’s requirements for PhD core, MS comps, and MS coursework.
Course Tools
- Slack — class discussion and communication. Use that invite link to join.
- Gradescope — assignment submissions. You will be enrolled automatically through the Canvas integration; no sign-up code is needed.
- HotCRP — paper reviews for the discussion sessions. The site will be set up and linked here before the first session.
Grading
| Component | Weight |
|---|---|
| Background and setup assignments | 5% |
| Programming assignments (2) | 10% |
| Paper critiques, presentations and discussions (3 sessions, including participation) | 45% |
| Semester project | 30% |
| Final | 10% |
The bulk of the work is in the project and the three paper discussion sessions, run as program-committee meetings: recent papers are assigned across the class, each student reviews five of them, and we meet to decide which to “accept.” See the assignments page for details and all due dates.