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


Lectures are twice a week, Tuesday and Thursday 2-3:20 pm. You are expected to arrive on time and participate in class. Please avoid use of laptops 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: 5%
  • Exams: 40%
  • Homework/Projects: 55%


Full participation credit will come from either being an active participant in the classroom (asking and answering questions) and/or answering questions on Piazza. Showing up most days will only get you part of the way there.


  • Get Ubuntu 18.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. site 5th edition is OK, 6th is preferred (about 5-6 weeks of course)
  • Principles of Data Integration by By AnHai Doan, Alon Halevy, and Zachary Ives (about 2-3 weeks of course) site


Hye Chang Emma Nechamkin Justin Cohler

Office Hours

Office hours for Aaron are Weds 11:00-12:00pm in John Crerar Library 241.

TA office hours are 10:30-11:30, Tue 10-11, and Thur 3:30-4:30 in John Crerar 205.



Please use Piazza for most communication.


Don’t do it. Guidelines if you need them It is incredibly easy to detect cheating on the programming assignments.

Issues with Grades

You must wait 24 hours to talk about issues with grading and it must be sent via private piazza post. I will typically post a thread to note grading issues, please add to this thread to ensure you issues are resolved.

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 / late chips to use at your discretion. These are here for you use at your discretion, and only under the most extreme circumstances will we grant additional late chips, and this typically requires some form of communication from a dean or advisor. If you have a partner for an assignment, the most late chips / slack days you can use is the min of your days and your partner’s days (e.g. Adam has 3 and I have 2, submitting together we cannot use more than 2). You will use Chisubmit to submit assignments and manage late days. You are not eligible to use slack days on anything due during finals week!