Compilers Fall 2021
As Steve Yegge said, “If you don’t know how compilers work, then you don’t know how computers work.” This is a course for those who are interested in the design and implementation of programming languages. Compilers let us use a high-level programming language by translating programs into low-level machine code. Understanding how compilers work is essential if you want to be a good programmer. In this course, you will build a working compiler using lex, yacc and LLVM (it’s ok if you don’t know what those terms mean).
Time and place
- Mon-Wed-Fri 09:30-10:20am PST in-person in room C9002.
- Sometimes we might be on Zoom (link will be posted on the course discussion forum).
- Last day of classes: Dec 7, 2021
- Do not email TAs directly. Use the discussion forum only.
- Logan Born,
loborn, Office hour: TBD on Zoom
- View Calendar
- Subscribe to the URL in your calendaring app rather than saving the file and adding it manually.
Asking for help
- Ask for help on the discussion forum
- TA office hours listed above
- Use the discussion forum for all interaction with the instructor and TAs (except personal issues)
- Do not email the TAs directly (without cc:ing the instructor) under any circumstance.
- Use only SFU email address while sending emails and use
cmpt379: as subject prefix
- All dates are still tentative
- Submit homework source code and check your grades on Coursys
- Programming setup homework: HW0 due on Sep 20, 2021 (1%)
- Four programming homeworks. (56% total)
- HW1 on Oct 4, 2021 [with grace days: Oct 6, 2021] (10%),
- HW2 on Oct 18, 2021 [with grace days: Oct 20, 2021] (12%),
- HW3 on Nov 1, 2021 [with grace days: Nov 4, 2021] (14%),
- HW4 on Nov 22, 2021 [with grace days: Nov 24, 2021] (20%)
- Participation: Helping other students on the discussion forum in a positive way (5%)
- Online quiz performance. (18% total; Best 4 out of 5; Each quiz is worth 4.5%)
- Quiz 0 on Sep 15, 2021 (practice quiz; no marks)
- Quiz 1 on Sep 29, 2021
- Quiz 2 on Oct 13, 2021
- Quiz 3 on Oct 27, 2021
- Quiz 4 on Nov 12, 2021
- Quiz 5 on Dec 01, 2021
- Final: Compiler Contest Dec 6, 2021 [with grace days: Dec 8, 2021] (20%)