Every assignment names the functions to write and the numbers a correct build reproduces, taken from the course text's worked examples. You choose a track per assignment: WebGL (a JavaScript file that mounts into the course's demo library) or Unity (C# scripts for a new Built-in Render Pipeline project); the two neural assignments offer Python notebooks instead of Unity. Both tracks are graded by the same checks.
| # | Assignment | Out | Due | Tracks |
|---|---|---|---|---|
| HW1 | The loop, input, and orientation | Thu Oct 8 | Wed Oct 14 | WebGL · Unity |
| HW2 | Vector geometry | Thu Oct 15 | Wed Oct 28 (extended from Oct 21) | WebGL · Unity |
| HW3 | Affine transformations and scene graphs | Thu Oct 22 | Wed Oct 28 | WebGL · Unity |
| HW4 | Viewing and rasterization | Thu Oct 29 | Wed Nov 4 | WebGL · Unity |
| HW5 | Meshes, texture placement, and a lit shader | Thu Nov 5 | Wed Nov 11 | WebGL · Unity |
| HW6 | A Whitted ray tracer and the Cornell box | Thu Nov 12 | Wed Nov 18 | WebGL · Unity |
| HW7 | A gradient step, a fit, and a digit’s DCT | Thu Nov 19 | Wed Nov 25 | JavaScript · Python |
| HW8 | Diffusion and learned scenes | Thu Dec 3 | Wed Dec 9 | JavaScript · Python |
python3 -m http.server 8000 in its root folder, open
http://localhost:8000/homework/run.html?hw=hw01, and edit lib/skeletons/hw01.js. The
runner draws the scene from your functions and prints every check with your value and the expected one.