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 1: Straight line code, due Sep 12 (tests) and Sep 19 (compiler)
- Lab 2: Control, due Sep 26 (tests) and Oct 3 (compiler)
- Lab 3: Functions, due Oct 10 (tests) and Oct 17 (compiler)
- Lab 4: Memory, due Oct 31 (tests) and Nov 7 (compiler)
- Lab 5: Optimization, due Nov 21
- Lab 6: Special Topics, due Nov 16 (proposals), Dec 7 (code), and Dec 12 (reports)
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 1: Backend, due Sep 14
- Assignment 2: Frontend, due Sep 28
- Assignment 3: Middle, due Oct 12
- Assignment 4: Semantics, due Nov 2
- Assignment 5: Project Proposal, due Nov 16