Homework
Homework Guidelines
Each week has one homework, tied to that week’s topic (some weeks, it may be related to your final project instead). Each class day also has a short set of reading questions on that day’s assigned readings, due before class — see the Weekly Cadence for the schedule. Homework and readings are distributed via Google Drive; both are handed in on Canvas.
Homework is one open-ended question — not a “learn to code this” exercise. The point is to practice reasoning about an approach and cheaply testing it, not to produce polished, production-quality code.
Work through it in three steps:
- Think it through yourself first. Before looking anything up, reason about how you would address the question. Write this down — it’s the part that’s actually being assessed.
- See how others have addressed it. Look at the relevant prior work or literature. How does it compare to your own idea? What did you miss, or get right?
- Code up a toy example to test it. Use Claude, GPT, or your tool of choice to quickly implement a small-scale version of your approach — a couple hours of work, not a full system. See what happens.
A few things to keep in mind:
- Using an LLM to write the code is expected and encouraged — coding assistance is fine for anything in this course. The reasoning in steps 1 and 2 is the part you should do yourself.
- The best outcome is often a surprising failure, not a clean success. If your first approach doesn’t work the way you expected, that’s usually more interesting than if it does — explain what went wrong and why. Homework is graded on the quality of your reasoning and diagnosis, not on whether your first idea worked.
- Keep the toy example small. A few hours of work on a scaled-down version of the problem is enough to get a real answer; you don’t need a large dataset or a long training run.
What to Submit
A one-page write-up, plus your code:
- Your initial approach (step 1): a paragraph or two on how you’d address the question, written before you looked anything up.
- What you found in prior work (step 2): a paragraph on how it compares to your own idea — what you got right, what you missed.
- What you tried and what happened (step 3): a short description of your toy experiment, 1-2 supporting plots/numbers if relevant, and — most importantly — your diagnosis of why it worked or didn’t.
- Code: a link to a notebook or script. It should run, but it doesn’t need to be clean — we’re reading it to check what you actually tried, not reviewing it as production code.
One page for the write-up itself (code/plots don’t count against that limit). If your diagnosis in step 3 is genuinely the interesting part, spend most of the page there rather than padding out steps 1-2.