The course syllabus for Introduction to Databases (CS 23500/33550).


Lectures are twice a week, Tuesday and Thursday 3-4:20 pm in HGS 101. 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 database systems, NoSQL/SQL, and data models


Grades will be based on the following criteria. Please not that the labs are not in a physical lab, but a series of related programming assingments


  • Exams: 40%
  • Homework (labs and homeworks): 55%
  • Participation (class and piazza) 5%


  • Class Participation: 5%
  • Exams: 30%
  • Homework (labs and homeworks): 30%
  • Project: 30%
  • Paper write-ups: 5%


  • Ability to run on ubuntu 14.04+ (or equivalent) running on bare metal or VM.
  • Ability to install open source databases (psql and others).
  • Install Java 1.7+ and refresh yourself on Java.
  • Install git. Setup a github account. Learn GIT


Database System Concepts (6th Edition) by Silberschatz, Korth, and Sudarshan. Other paper readings may be assigned.


  • Adam Dziedzic
  • Dixin Tang
  • Lang Yu

Office Hours

Office hours for instructor and TAs will be posted very soon.



Please send emails to aelmore@cs.uchicago.edu with [UCDB] in the subject heading.


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. Please notify the TA and myself when you use slack days and how many you are using. You are not eligible to use slack days on anything due during finals week!