Assignments
Labs
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 | Topic | Release | Due |
---|---|---|---|
Lab 0 | Partnership Form | Jan 12 | Jan 24 |
Lab 1 | Straight Line Code | Jan 20 | Feb 3 (compiler) |
Lab 2 | Control | Feb 3 | Feb 17 (compiler), Feb 21 (test feedback) |
Lab 3 | Functions | Feb 18 | Mar 3 (compiler), Mar 6 (test feedback) |
Lab 4 | Memory | Mar 10 | Mar 28 (compiler), Mar 30 (test feedback) |
Lab 5 | Optimizations | Mar 25 | Apr 11 (compiler + report) |
Lab 6 | Topics - LLVM - Garbage Collection - C0 and Beyond - Choose Your Own Adventure |
Apr 7 | May 4 (compiler), May 4 (report) |
Written Assignments
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 | Topic | Release | Due |
---|---|---|---|
Assignment 1 | Backend (LaTeX source) | Jan 25 | Jan 31 |
Assignment 2 | Statics (LaTeX source) | Feb 8 | Feb 15 |
Assignment 3 | Middle (LaTeX source) | Feb 22 | Mar 1 |
Assignment 4 | Dynamics (LaTeX source) | Mar 16 | Mar 23 |
Assignment 5 | Lab 6 Proposal | Mar 29 | Apr 5 |