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.
Some labs come with checkpoints, which are optional and will not be graded.
Late policy for labs: See policies.
Lab | Topic | Release | Due |
---|---|---|---|
Lab 0 | Teaming Questionnaire | Jan 12 | Jan 18 |
Lab 1 | Straight Line Code; Checkpoint | Jan 19 | Jan 26 (test cases), Feb 2 (compiler) |
Lab 2 | Control | Feb 2 | Feb 9 (test cases), Feb 16 (compiler) |
Lab 3 | Functions | Feb 16 | Feb 23 (test cases), Mar 1 (compiler) |
Lab 4 | Memory | Mar 8 | March 15 (test cases), Mar 26 (compiler) |
Lab 5 | Optimizations | Mar 26 | Apr 10 (compiler), Apr 16 (report) |
Lab 6 | Topics - LLVM - Garbage Collection - C0 and Beyond - Choose Your Own Adventure |
Apr 16 | 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.
LaTeX Dependencies: homework.sty ; compilerstoolbox.sty
Late policy for individual written assignments: See policies.
Assignment | Topic | Release | Due |
---|---|---|---|
Assignment 1 | Backend (LaTeX source) | Jan 23 | Jan 30 |
Assignment 2 | Statics (LaTeX source) | Feb 6 | Feb 13 |
Assignment 3 | Middle (LaTeX source) | Feb 20 | Feb 27 |
Assignment 4 | Dynamics (LaTeX source) | Mar 12 | Mar 19 |
Assignment 5 | Lab 6 Proposal | Mar 26 | Apr 2 |