Assignments
Assignments and project milestones are submitted through Gradescope — you will be enrolled automatically through the Canvas integration. Paper critiques for the discussion sessions will be handled in HotCRP instead; that site will be set up and linked here before the first session.
Grading
| Component | Weight |
|---|---|
| Background and setup assignments | 5% |
| Programming assignments (2 × 5%) | 10% |
| Paper presentations and discussions (3 × 15%, including participation) | 45% |
| Semester project | 30% |
| Final | 10% |
Deadlines at a glance
| Due | What |
|---|---|
| Friday, Sept 11 | Background questions + setup assignment |
| Thu, Sept 24, 11:59pm | Paper critiques — session 1 |
| Tue, Oct 6 | Programming assignment: Query Optimization |
| Tue, Oct 13 | Project: group members and proposal |
| Tue, Oct 20 | Programming assignment: PostgreSQL internals |
| Thu, Oct 29, 11:59pm | Paper critiques — session 2 |
| Tue, Oct 30 | Project: literature survey |
| Fri, Nov 20 | Project: intermediate progress report |
| Tue, Nov 24, 11:59pm | Paper critiques — session 3 |
| Mon, Dec 14 | Project: final report |
| Week of Dec 14 | Final (Takehome) |
Background and Setup (5%)
Two assignments, both already released on Gradescope and both due Thursday, September 4:
- Background questions — a set of questions covering the CMSC 424 material this course assumes. The goal is not memorization; it is to make sure you are ready to engage with the technical material. See the Background review notes, which summarize exactly what is assumed and, at the end, list what to prioritize if you need to catch up.
- Setup — getting PostgreSQL, MongoDB, and Spark installed and running, so that the later programming assignments and in-class examples work on your machine.
Together these are worth 5% of the course grade.
Programming Assignments (10%)
Two assignments, both submitted through Gradescope.
Query Optimization (5%) — due Tuesday, October 6
Working with a real query optimizer: reading EXPLAIN and EXPLAIN ANALYZE output, understanding how plans are chosen, and seeing where cost estimates go wrong.
Modifying the PostgreSQL Codebase (5%) — due Tuesday, October 20
Making a change inside the PostgreSQL source. The point is to see that the components we discuss in lecture are real, findable, and modifiable — and to get a sense of what it actually takes to change a mature database system.
Both assignments are due before the corresponding lecture material has been fully covered in some cases; that is intentional. They are meant to give you concrete experience with a system before we discuss its internals in depth.
Paper Presentations and Discussions (45%)
This is the largest component of the course, and the main work in it.
The course has three discussion sessions, each spanning two classes, organized in the style of a program committee meeting:
| Session | Classes | Critiques due |
|---|---|---|
| 1 | Sept 29, Oct 1 | Thursday, Sept 24, 11:59pm |
| 2 | Nov 3, Nov 5 | Thursday, Oct 29, 11:59pm |
| 3 | Dec 1, Dec 3 | Tuesday, Nov 24, 11:59pm |
For each session, a set of recent papers is assigned across the class. Each student reviews a subset of the papers, writing a “review” of each. In the session itself we discuss the papers as a committee would, with the goal of deciding which fraction of them to “accept.”
Reviews are due at least five days before the first class of the session, so that we can do some discussion beforehand (virtually) and structure the discussion around what you have written.
Each session is worth 15%, which includes participation. Attendance and engagement in the discussion matter here — this format does not work if people have not read the papers.
Papers and reviewer assignments will be posted before each session.
Reviews are submitted through HotCRP, the conference management system used to run real program committees. The instance for this course will be set up and linked here before the first session; reviews there are visible to me and, during the discussion, to the other reviewers of the same paper.
Semester Project (30%)
A mini research project, conducted in groups, running the length of the semester. There are five milestones.
Group members and project proposal — due Tuesday, October 13
Form your groups, meet with me to discuss ideas, and submit a one-page proposal stating and motivating the problem.
Literature survey — due Friday, October 30
A 3–4 page report surveying the prior work and placing your proposed work in the context of that work.
Intermediate progress report — due Friday, November 20
A 5–7 page progress report.
Final report — due Monday, December 14
A 10–15 page report following a research paper format.
Final (10%)
The final is essentially a slightly longer written assignment, taken over a short window (a couple of days) rather than in a fixed exam slot. There is no midterm.
Use of AI Tools
You are free to use AI tools, and they are encouraged for reading and understanding papers. Do not use them to do the assignments for you — feeding a question in and pasting the answer back defeats the purpose. This is a graduate course; you will get out of it what you put in.
Please read Reading, Research, and Writing With AI Available before the semester begins. It goes through the evidence in detail and gives specific suggestions about what these tools are and are not good for in a course like this one.