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.

Course website:



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

Homework Submission Policy


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. The amount of extra credit for scribe notes is variable, and the amount for the advanced assignments are described on the assignment descriptions. There is NO PENALTY for not doing extra credit because it is added to the final grade after computing the curve.

  1. We first compute the curve and 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).

Extra Credit Opportunities

Late Days



Additional late day rules

Alternative procedures to submit late homework:

When using late days, note that homeworks tend to get harder later in the course.


How to ask 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?