Compilers Fall 2020
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 on Zoom (link will be posted on the course discussion board).
- Last day of classes: Dec 7, 2020
- Do not email TAs directly. Use the discussion board only.
- Navid Rahimi,
navidr, 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 board
- TA office hours listed above
- Use the discussion board 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
- Submit homework source code and check your grades on Coursys
- Programming setup homework: HW0 due on Sep 21, 2020 (1%)
- Four programming homeworks. (56% total)
- HW1 on Oct 5, 2020 [with grace days: Oct 7, 2020] (10%),
- HW2 on Oct 19, 2020 [with grace days: Oct 21, 2020] (12%),
- HW3 on Nov 2, 2020 [with grace days: Nov 9, 2020] (14%),
- HW4 on Nov 23, 2020 [with grace days: Nov 30, 2020] (20%)
- Participation: Helping other students on the discussion board 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 16, 2020 (practice quiz; no marks)
- Quiz 1 on Sep 30, 2020
- Quiz 2 on Oct 14, 2020
- Quiz 3 on Oct 28, 2020
- Quiz 4 on Nov 13, 2020
- Quiz 5 on Dec 02, 2020
- Final: Compiler Contest Dec 7, 2020 [with grace days: Dec 9, 2020] (20%)