W4111 Syllabus


The goal of this class is two-fold. First, to introduce you to core database concepts (e.g., data modeling, logical design, SQL) so that you too can build a billion dollar application. Second, to teach enough about database engine internals (e.g., physical database design, query optimization, transaction processing) so you have a good sense of why queries may be running slowly/incorrectly.

Along the way, we will point out connections with modern data systems and data engineering concepts in industry, as the field is moving quickly.

Course website:


Class meets once a week for ~3 hours




Required Prereqs

Background that will help

If you have used Java before, then use this Java2Python tutorial that we have written to see how Java concepts transfer into Python concepts. It also contains links to useful tutorials.

Programming Resources

Assignment Collaboration Policies AKA Cheating



Collaboration and Cheating

If you have any doubt, see Columbia’s description of academic honesty or talk to the Professor



Grading Policy

Notes on grading (please read):

Extra Credit

Extra credit is a way for students to illustrate their understanding of the course material in ways beyond formal assignments and exams. There is NO PENALTY for not doing extra credit because it is added to the final grade after computing any curves.

  1. We first grade cut-offs using scores that do not include any extra credit
  2. Then we add extra credit points.

Due to the additional work that the staff must take to assess and manage extra credit opportunities, we have strict deadlines for extra credit opportunities (aka no late days).

Grace Days

Grace Days for Homeworks

Unless otherwise specified, you are allowed 5 penalty free late days to use throughout the semester for homework only.

In some cases, we will specify that an assignment will not accept late submissions beyond a certain day. This is so that we have time to release solutions (say, before an exam). Unless specified otherwise, for HWs this hard deadline is five days (120 hours) after the initial deadline).

Grace Days for Projects

For projects, you are allowed 3 penalty free late days to be used only for projects.

Additional Grace Day Rules

Procedures to submit late homework:

When planning to use grace days, note that homeworks tend to get harder later in the course.


Checklist when asking for help:

  1. Search google and see if it answers your question. Then tell us:
  2. What are you trying to do?
  3. What steps did you think would work and which have you tried?
  4. How did it fail and why do you think it failed (OK to say I don’t know why it failed)?
  5. What error did it produce?

Methods of communication: