View the Project on GitHub TiarkRompf/cs352

Compilers: Principles and Practice

Spring 2020, 3 credits. Instructor: Prof. Tiark Rompf, Dr. Yuyan Bao, and Dr. Oliver Bracevac

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

Midterm will be in March/April, the exact date and time will be announced later.

Lectures are Mondays, Wednesday and Friday, 12:30pm to 1:20pm in WTHR 104.

Teaching assistants are:

  • Guannan Wei, wei220@purdue.edu
  • Wuwei Zhang, zhan1015@purdue.edu
  • Zixun Yu, yu645@purdue.edu

PSO sessions are:

  • Monday 1:30pm to 3:20pm in Lawson B148 (TA: Guannan Wei)
  • Monday 3:30pm to 5:20pm in Lawson B160 (TA: Zixun Yu)
  • Tuesday 3:30pm to 5:20pm in Lawson B148 (TA: Wuwei Zhang)
  • Wednesday 1:30pm to 3:20pm in Lawson B160 (TA: Wuwei Zhang)
  • Thursday 9:30am to 11:20am in Hass G056 (TA: Zixun Yu)

Office hours are scheduled by appointment. Please send an email to TAs to schedule an office hour.

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.

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

Grades: Final grades will be based on results for the programming assignments (50%), midterm (20%), and final exam (30%). Achieving a minimum of 20% in each of the three components is mandatory for a passing grade.

Late Work Policy: No late submission will be accepted. Exceptions will be given only in the most extreme circumstances. Any travel, including interview trips, load from work or other classes, or simply not being able to get your program to run will not be grounds for extensions or exceptions.

Academic integrity: For general policies about academic integrity etc. Please see here. You are expected to read that page and will be held accountable according to its contents.

Recommended Book

Lecture Notes

A set of lecture notes is available here: