The labs are the heart of this course and count for 70% of your grade. Much of what you learn in this course will be through completing these labs. Labs can be done individually or in pairs. All deadlines are 11:59pm on the due date.
Late policy for labs: See policies.
|Lab 0||Partnership Form||Aug 23||Aug 31|
|Lab 1||Straight Line Code, Checkpoint||Sep 2||Sep 14 (tests, checkpoint), Sep 21 (compiler)|
|Lab 2||Control||Sep 21||Sep 30 (tests), Oct 7 (compiler)|
|Lab 3||Functions||Oct 7||Oct 12 (tests), Oct 23 (compiler)|
|Lab 4||Memory||Oct 21||Nov 2 (tests), Nov 4 (checkpoint), Nov 11 (compiler)|
|(Option A) Lab 5–||Optimization–, Checkpoint||Nov 11||Nov 16 (checkpoint),
Nov 30 (compiler and report)
|(Option A) Lab 6||Special Topics
- Garbage Collection
- C0 and Beyond
- Choose Your Own Adventure
|Nov 11||Dec 14 (compiler and report)|
|(Option B) Lab 5++||Optimization++, Checkpoint||Nov 11||Nov 16 (checkpoint),
Nov 23 (CO programs),
Dec 7 (compiler),
Dec 14 (report)
Written assignments are to be completed individually. They are handed in as PDFs through Gradescope. We expect you to use word processing or typesetting software for your assignments where appropriate, but hand-drawn diagrams are acceptable if they are done neatly. All deadlines are 11:59pm on the due date.
Late policy for individual written assignments: See policies.
|Assignment 1||Register Allocation & SSA||Sep 2||Sep 21|
|Assignment 2||Frontend||Sep 21||Oct 5|
|Assignment 3||Middle||Oct 7||Oct 19|
|Assignment 4||Memory||Oct 21||Nov 09|
|Assignment 5||Project Proposal for
- Option A: L6
- Option B: L5 extra optimization
|Nov 8 (Proposal Guidelines)||Nov 18 (Draft proposal),
Nov 20 (Feedback Returned),
Nov 23 (Final Proposal)