Compiler Construction 2013

Moodle Link (for mailing list)


Related Coursera courses:

  • Compilers by Alex Aiken
  • Automata by Jeffrey Ullman

General Information

Note that:

  • the time slots for lectures, exercises, and labs are interchangeable
  • attendance is strongly recommended in all slots

Will follow the structure of Compiler Construction in 2012.

Know Scala, if needed see the great Scala book and the wonderful online course


Instructor Viktor Kuncak
PhD Assistants Mikael Mayer and Etienne Kneuss
Secretary Yvette Gallay


  • 55% Project
  • 20% Mid-term quiz in October
  • 25% End-of-term quiz in December

Mid-Term Quiz

The quiz will take place Wednesday 23.10.2013 in INM 202 from 8:00 to 12:00.

Please be in front of INM 202 at 8:00am so that we arrange where you sit and so that you can start at the latest by 8:15am.

Stuff: Course Materials

Week 01, September 16

Wednesday 8:15am INM202 Lecture 01: Introduction to Compilers
Wednesday 10:15am INM202 Labs (always bring own laptops) Labs setup and then Labs 01

Week 02, September 23

Monday 10:15am INM202 Lecturecise 02: Building Lexers
Wednesday 8:15am INM202 Lecturecise 03: From Regular Expressions to Automata and Lexers (Mikael)
Wednesday 10:15am INM202 Complete (Labs setup and) Labs 01

Week 03, September 30

Week 04, October 07

Week 05, October 14

Monday 10:15am INM202 Lecturecise 08: Exercises with Grammars
Wednesday 8:15am INM202 Lecturecise 09: Exercises with Grammars
Wednesday 10:15am INM202 Labs 03: Parser

Week 06, October 21

Monday 10:15am INM202 Lecturecise 10: Final Notes on Parsing
Wednesday 8:15am INM202 Mid-term Quiz
Wednesday 10:15am INM202 Mid-term Quiz

Material for second quiz starts here

Week 07, October 28

Monday 10:15am INM202 Lecturecise 11: Name Analysis and Type Checking
Wednesday 8:15am INM202 Lecturecise 12: Type Checking
Wednesday 10:15am INM202 Lecturecise 13: Type Soundness

Week 08, November 4

Monday 10:15am INM202 Lecturecise 14: Code Generation for Expressions
Wednesday 8:15am INM202 Lecturecise 15: Type Checking Exercises
Wednesday 10:15am INM202 Labs 04: Name Analysis

Week 08, November 11

Week 09, November 18

Monday 10:15am INM202 Lecturecise 18: Destination Passing
Tuesday, Nov. 19th, 11.59pm (23h59) name analysis due
Wednesday 8:15am INM202 Lecturecise 19: Discussion of Quiz Solutions
Wednesday 10:15am INM202 Labs 05: Type Checking

Week 10, November 25

Monday 10:15am INM202 Lecturecise 20: Type Inference
Tuesday, Nov. 26th, 11.59pm (23h59) type checking due
Wednesday 8:15am INM202 Lecturecise 21: More on type inference
Wednesday 10:15am INM202 Labs 06: Code Generation

Week 11, December 2

Monday 10:15am INM202 Lecturecise 22: Data Flow Analysis
Tuesday 11.59pm (23h59) Code Generation due
Wednesday 8:15am INM202 Lecturecise 23: Range Analysis Exercises
Wednesday 10:15am INM202 Labs 06: Code Generation

Week 12, December 9

Week 13, December 16

Monday 10:15am INM202 Lecturecise 26: Exercises on Type Checking, Code Generation, and Data-Flow Analysis
Wednesday 8:00am-noon INM202 Quiz

Typical Schedule