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


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


Grades will be based on the following criteria:


  • 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%


  • Get Ubuntu 14.04+ 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
  • Sign up for the course sites coming soon

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


Tri Huynh trihuynh@uchicago.edu Riza Oktavian riza@cs.uchicago.edu

Office Hours

Aaron’s office hours are in Ryerson 150 Tuesdays 11-12.

Tri and Riza’s office hours are in Ryerson 254 Monday 2-3 and Friday 3-4 (they will alternate who is there).



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 three 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 the project or final lab!