View the Project on GitHub TiarkRompf/cs502

Compiling And Programming Systems

Fall 2016, 3 credits. Instructor: Tiark Rompf. TAs: Evan Hanau, Raine Yeh.

Announcements will be posted on Piazza. Homework submission and grading will be done through turnin and Blackboard

Lectures are Tuesdays and Thursdays, 1:30pm to 2:45pm, LWSN B155

TA Office hours:

  • Evan: Monday 11:00AM - 12:00PM, LWSN 3151A
  • Raine: Tuesday 4:00PM - 5:00PM, LWSN 3151A

About the Course

In a nutshell: The theory and practice of programming language translation, compilation, and run-time systems, organized around a significant programming project to build a compiler for a simple but non-trivial programming language.

This class is heavily based on the Advanced Compiler Construction class taught by Michel Schinz at EPFL. The class materials (lecture slides, programming assignments, etc) are used with permission.

Grades: Final grades will be based on results for the programming assignments (70%) and final exam (30%)

We will apply the same rules regarding submissions, late homework etc. as previous iterations of the class, documented here. For general policies about academic integrity etc. please see here.



  1. Project 1: Getting Started (Due Sept 01 11:59PM)
  2. Project 2: CL3 to CPS Translation (Due Sept 11 11:59PM)
  3. Project 3: Value Representation (Due Oct 6 11:59PM)
  4. Project 4: Optimization (Due Nov 20 11:59PM)
  5. Project 5: Garbage Collection (Due Dec 11 11:59PM)