The course syllabus for Databases for Public Policy (CAPP 30235).


Lectures are twice a week, Tuesday and Thursday 1:30-2:50 pm in Ryerson 276. Attendance is mandatory and you are expected to arrive on time and participate in class.

Topics Covered

The course will cover the foundations of Database Management Systems (DBMS). This includes data models, database design, SQL, core database system components (e.g. transactions, recovery, query processing), distributed databases, NewSQL/NoSQL, and systems for data analytics (e.g. column-orientated databases, data warehouses).

The goals for this class are for you to have:

  • The ability to model and design a database
  • An understanding of the core components of a database management system
  • The ability to write SQL
  • An understanding of the differences between databases and data models


Grades will be based on the following criteria:

  • Class Participation: 10%
  • Exams: 40%
  • Homework/Projects: 50%


  • Get Ubuntu 14.04+ running on bare metal or VM VM is preferred. Allocate a few GB of memory if possible. Allocate at least 20 GB of disk space. More if possible.
  • Ability to install open source databases (psql and others).
  • Install python and have the ability to install python libraries
  • Install git. Learn GIT
  • Be able to use chisubmit
  • Sign up for Piazza. All homeworks will be posted on Piazza

Database System Concepts by Silberschatz, Korth, and Sudarshan. Other paper readings will be assigned.


Suhail Rehman suhail@uchicago.edu is the course TA.

Office Hours

Aaron’s office hours are in Ryerson 167. Tue 3:30-4:30

Suhail’s office hours are in Ryerson 277. Fri 1-2.



Please send emails to aelmore@cs.uchicago.edu with [CAPPDB] in the subject heading or use piazza


Don’t do it. Guidelines if you need them

Issues with Grades

You must wait 24 hours to talk about issues with grading and it must be sent via email.

Cell Phones

Please keep your cell phones on silent/vibrate while in class.

Late Projects and Homeworks

Each day an assignment is late, it is marked down 20%. You have four total slack days to use at your discretion – extensions beyond this will be under extreme circumstances only. Any assignment due after the reading period (last class before final) is not eligible for slack day use.