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
Staff
Instructor | Viktor Kuncak |
PhD Assistants | Mikael Mayer and Etienne Kneuss |
Secretary | Yvette Gallay |
Grading
- 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
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 |
Week 04, October 07
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 |
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
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 |
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
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 |
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 |