Lectures Mon 10:30–12:15, Wed 8:30–10:15 in Room SI-013
[Dragon] Compilers: Principles, Techniques, and Tools, 2nd edition
Alfred Aho, Monica Lam, Ravi Sethi, and Jeffrey Ullman, 2006. (amazon.de) — The first edition is also (mostly) acceptable, and cheaper, but chapter references will be to the second edition.
[Muchnick] Advanced Compiler Design and Implementation
Steven S. Muchnick, 1997
Moodle Website CC on Moodle
Grading 40% Homeworks, 30% Quizzes, 30% Final exam

Course staff

Nate Nystrom instructor

Office SI-203
Office hours TBA

Sun Haiyang teaching assistant

Office Open Space (2nd floor)
Office hours TBA

Schedule Subject to change



You will be graded on programming assignments, quizzes, and a final exam. There will be approximately one assignment per week. Assignments will consist of programming exercises in Haskell and a several small compiler implementation projects. There will be approximately one 15-minute quiz per week.

Group Work

Assignments will include both written and programming assignments. You are encouraged to work on the programming assignments with your classmates. The contributions of each student must be explicitly described. All students are responsible for understanding the assignments.


Assignments should be submitted through Github.

Cheating and plagiarism is unacceptable

You are free to discuss assignments and solutions with others. However, you must write your own assignments, and must not represent any portion of others' work as your own. Assignments found to have been plagiarized will be given a grade of -100%.

Collaboration on quizzes and exams is forbidden.