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 1||Straight Line Code, Checkpoint||Sep 8||Sep 15 (tests, checkpoint), Sep 22 (compiler)|
|Lab 2||Control, Checkpoint||Sep 22||Sep 29 (checkpoint), Oct 1 (tests), Oct 8 (compiler)|
|Lab 3||Functions||Oct 8||Oct 15 (tests), Oct 22 (compiler)|
|Lab 4||Memory||Oct 22||Nov 3 (tests), Nov 5 (checkpoint), Nov 12 (compiler)|
|Lab 5||Optimization, Checkpoint||Nov 12||Nov 17 (checkpoint), Dec 3 (compiler), Dec 8 (report)|
|Lab 6||Special Topics
- Garbage Collection
- C0 and Beyond
- Choose Your Own Adventure
|Nov 5||Dec 18 (project), Dec 20 (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 3||Sep 22|
|Assignment 2||Frontend||Sep 22||Oct 6|
|Assignment 3||Middle||Oct 8||Oct 20|
|Assignment 4||Memory||Oct 22||Nov 10|
|Assignment 5||Project Proposal||Nov 5||Nov 19 (draft), Dec 1 (final)|