8/21/17 The course questionnaire is available here. You can sign up for the course's Piazza page here.

8/18/17 Webpage live!

Course Description

This course focuses on the tools and techniques needed to build an optimizing compiler. Topics include:

  • Scanning and parsing: determining the syntactic structure of a program
  • Semantic routines: determining the semantics of a program and building an intermediate representation
  • Code generation: emitting assembly code that is equivalent to the program
  • Program optimizations: improving the performance of a program
  • Program analysis: determining interesting information about a program's behavior

Course Details

The course syllabus covers most of the details of the course, including a tentative schedule, exam dates, etc. We will be using Piazza for online discussion of the lectures and assignments. If you have a question about a concept covered in lecture or about a detail of an assignment, check Piazza first!

Lecture Notes

Problem sets