COLUMBIA UNIVERSITY COMS W4111

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: http://w4111.github.io/

Format

Class meets once a week for ~3 hours

Quizzes

Textbook

Prerequisites

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

Homeworks

Projects

Collaboration and Cheating

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

Homeworks

Grading

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.
  3. This includes all extra credit – standalone, on assignments/projects, and on exams.

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).

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.

Communication

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: