Skip to main content

Compilers Summer 2016

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).

Anoop Sarkar
Office Hours: Thursdays 12:30pm-1:30pm TASC1 9427
Teaching Assistant
Maryam Siahbani
Office Hours: ASB9838.1 Mondays 9:30-10:30
Discussion Board
on Coursys
Time and place
Tuesdays 11:30-1:20 BLU 9660, Thursdays 11:30-12:20 BLU 9660
May 10, 2016 to Aug 2, 2016
View Calendar
Subscribe to the URL in your calendaring app rather than saving the file and adding it manually.
No required textbook. Online readings provided in Syllabus.
List of reference books
Submit homework source code and check your grades on Coursys
  • Setup homework: (2%)
  • Four programming homeworks. Due dates: TBA (60% total)
  • In class midterm: Date: Jun 30 (18%)
  • Final exam: Aug 15 8:30am-11:30am. Location: AQ 3181 (20%)