CMSC724: Database Management Systems

Prof. Amol Deshpande;    CSIC 1121;    Mon-Wed 3:30am-4:45pm


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

Office Hours:

AVW 3221; Wednesday 5-6pm (after class), or by appointment.

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. In the first 2-3 classes, we will broadly cover this background material (at a fairly high level); the first two programming assignments (already posted) are also background assignments whose aim is to help you brush up on the material. We will not necessarily cover all the assigned readings in depth in class, but you will be responsible for reading and understanding that material outside class.

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 submitting critiques and class discussion. More details to come.

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. 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. About 2/3rd of the class will be from the book, and the rest of the class will be on recent papers from major DB conferences.

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 class participation + critiques (20%), programming assignments (15%), written assignments (15%), final (20%), and a class project (30%). More details on the assignments tab.