Moodle Link (for mailing list)
Related Coursera courses:
Note that:
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 |
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.
Wednesday 8:15am | INM202 | Lecture 01: Introduction to Compilers |
Wednesday 10:15am | INM202 | Labs (always bring own laptops) Labs setup and then Labs 01 |
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 |
Monday 10:15am | INM202 | Lecturecise 04: Grammars and Parsers |
Wednesday 8:15am | INM202 | Lecturecise 05: Regular Expressions, Ambiguous Grammars and Parsing |
Wednesday 10:15am | INM202 | Labs 02: Lexer |
Monday 10:15am | INM202 | Lecturecise 06: Resolving Ambiguity and Building Trees. First and follow sets for LL(1) Parsing |
Wednesday 8:15am | INM202 | Lecturecise 07: CYK Parsing |
Wednesday 10:15am | INM202 | Finish Labs 02: Lexer |
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 |
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
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 |
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 |
Monday 10:15am | INM202 | Lecturecise 16: Code Generation for Booleans and Control |
Wednesday 8:15am | INM202 | Lecturecise 17: Code Generation Exercises |
Wednesday 10:15am | INM202 | Labs 04: Name Analysis & Labs 05: Type Checking |
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 |
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 |
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 |
Monday 10:15am | INM202 | Lecturecise 24: Termination of Analysis. Initialization, Live Variables and Register Allocation Concept |
Wednesday 8:15am | INM202 | Lecturecise 25: Register Allocation using Graph Coloring |
Wednesday 10:15am | INM202 | Labs 07: Mini Projects |
Monday 10:15am | INM202 | Lecturecise 26: Exercises on Type Checking, Code Generation, and Data-Flow Analysis |
Wednesday 8:00am-noon | INM202 | Quiz |