The project is 40% of your grade and the part of the course you are most likely to remember. Build or measure something real.
Work in teams of two to three. Solo projects are allowed with instructor approval, but the scope expectation does not drop much, so teams are strongly preferred. Teams of four are not permitted.
A good project for this course does one of the following:
A negative result, honestly measured and clearly explained, is a perfectly good project. A project that reports a 3× speedup that turns out to be a measurement artifact is not. We care much more about whether your numbers are trustworthy than about whether they are impressive.
These are starting points, not an assignment list. The best projects usually come from something you are already curious about. For six of these worked out in full — question, baselines, metrics, and the pitfall that would invalidate each one — see the worked examples below.
Six worked examples, at roughly the scope a two-to-three person team can finish in a term.
These are not a menu. They exist to show what a well-shaped project looks like: a question narrow enough to answer, a baseline worth beating, and a metric that would embarrass you if it were wrong. The best projects in a course like this usually come from something you were already curious about — these are calibration, not assignment options. Picking one as written is allowed, and you will be held to the same standard as anyone who invented their own.
Notice what every example has in common: each one names the number that would change your mind. That is the part students most often leave out, and it is the part the evaluation rubric weighs most heavily.
Part I & agent serving — instrumentation over invention
Prefix cache — a characterization project
GPU programming and kernels — build and justify
Training and data pipelines — accounting for every lost second
Speculative decoding — find the crossover, not the win
Pruning and quantization — measure the axis papers skip
A question, not a topic. "KV-cache optimization" is a topic. "At what sharing rate does prefix caching stop paying for its memory?" is a question, and you can tell when you have answered it.
A baseline someone would defend. The weakest part of most project reports is a baseline chosen because it was easy to beat. Pick the one a skeptical reader would demand.
A metric tied to a decision. Every example above measures something that would change what an engineer does on Monday.
A stated failure mode. Each has a pitfall that would invalidate the result. Knowing yours in advance is most of the work — see the paper reading strategy for the same habit applied to other people's papers.
| Criterion | Excellent (90-100%) | Good (75-89%) | Adequate (60-74%) | Needs Improvement (<60%) | Weight |
|---|---|---|---|---|---|
| Problem & Motivation | Sharp, well-scoped question that matters; clearly situated against existing work | Reasonable question with adequate context | Vague question or thin engagement with related work | No clear question; unaware of obvious prior work | 15% |
| Technical Execution | Substantial implementation or measurement effort; sound engineering; reproducible | Solid work with minor gaps in rigor or completeness | Limited scope, or implementation that only partly works | Little working code or measurement | 30% |
| Evaluation Quality | Right baselines, right metrics, error bars, ablations; anticipates and rules out artifacts | Reasonable methodology with some missing controls | Weak baselines or single-run numbers presented as fact | Unsupported or unreproducible claims | 30% |
| Report & Presentation | Clear writing, effective figures, honest about limitations | Understandable with minor clarity or figure issues | Hard to follow; figures do not support the claims | Incoherent or missing key sections | 25% |
| Milestone | Due | Weight | What to submit |
|---|---|---|---|
| Team formation | Oct 6, 2026 | — | Team members and a one-line topic direction |
| Proposal | Oct 22, 2026, 11:59pm | 5% | One-page PDF: problem, why it matters, plan, what you will measure, what could go wrong |
| Checkpoint | Nov 19, 2026, 11:59pm | 5% | Two-page PDF: progress, preliminary numbers, revised plan |
| Presentation | Dec 1 & Dec 3, 2026 | 10% | 12-minute talk plus 3 minutes of questions |
| Final report | Dec 9, 2026, 11:59pm | 20% | 6-8 page PDF plus a code repository |
The checkpoint exists so that a project heading in a bad direction can be redirected while there is still time. Use it honestly — a checkpoint reporting "this did not work and here is why" gets full credit and a useful conversation.
All submissions go through Canvas. Assignment links will be posted here and announced on the home page as each milestone opens.
Access instructions will be posted here once allocations are confirmed. If your project needs hardware beyond what is listed, talk to the instructor early — sometimes it can be arranged, but not in the last two weeks.
The FAS Research Computing Cannon cluster has GPU partitions available to Harvard courses. Plan for queue time: a job that takes an hour to run may wait considerably longer than that to start, which matters a great deal in the last week of the term.
CloudLab provides bare-metal machines for research and teaching, free of charge, with full control over the software stack. This is the right choice when your project needs to touch the kernel, the network, or the storage layer, or when you need reproducible isolation that a shared cluster cannot give you.
Useful starting points for project work: