CS-320, Edition 2015

Instructor | Viktor Kuncak |

PhD Assistants | Manos Koukoutos and Ravi Kandhadai |

MSc Assistants | Tristan Overney and Allan Renucci |

Infrastructure advice | Etienne Kneuss |

Secretary | Yvette Gallay |

- 50% Projects
- 50% Quiz (expected tentatively on Wednesday, November 18)

Slides on drive: accessible here.

Monday 10:15am | CE 1103 | Lecturecise 01: Introduction to Computer Language |

Wednesday 8:15am | INF213 | Labs (always bring own laptops) Labs setup and then Labs 01 |

Wednesday 10:15am | INF213 | Lecturecise 02: Formal Languages. Regular Expressions. Building Lexers |

Monday | NO CLASSES | |

Wednesday 8:15am | INF213 | Finish Labs 01 and Start Labs 02 |

Wednesday 10:15am | INF213 | Lecturecise 03: Maximal Munch. Regular Expressions to Automata and Lexers |

Monday 10:15am | CE 1103 | Lecturecise 04: Regular Expressions, Automata and Lexers (PDF) |

Wednesday 8:15am | INF213 | Labs 02 - Lexer |

Wednesday 10:15am | INF213 | Lecturecise 05: Grammars and Parsing |

Monday 10:15am | CE 1103 | Lecturecise 06: Building Trees in Recursive Descent Parsing (PDF) |

Wednesday 8:15am | INF213 | Labs 02 - Lexer |

Wednesday 10:15am | INF213 | Lecturecise 07: Ambiguity Exercise. Nullable, first, and follow sets and parsing table (PDF) |

Monday 10:15am | CE 1103 | Lecturecise 08: Generic LL(1) Parser. Dangling Else. CYK Parser (PDF) |

Wednesday 8:15am | INF213 | Labs 03 - Parser |

Wednesday 10:15am | INF213 | Lecturecise 09: Conversion to Chomsky Normal Form and Exercises on LL(1) ( PDF) Exercise 5 solution |

Monday 10:15am | CE 1103 | Lecturecise 10: Name Analysis (PDF) |

Wednesday 08:15am | INF213 | Labs 03 - Parser |

Wednesday 10:15am | INF213 | Lecturecise 11: Exercises on CYK and CNF (PDF) Exercise 10 solution |

Monday 10:15am | CE 1103 | Lecturecise 12: Type Checking Introduction (PDF) |

Wednesday 8:15am | INF213 | Labs 03 - Parser (no exercises or lecture!) |

Wednesday 10:15am | INF213 | Labs 03 - Parser (no exercises or lecture!) |

Monday 10:15am | CE 1103 | Lecturecise 13: Type Checking: Subtyping and Soundness (PDF) |

Wednesday 8:15am - 10pm | INF213 | Labs 04 - Name analysis |

Wednesday 10:15am - 12pm | INF213 | Lecturecise 14: Type Checking Exercises (PDF) |

Monday 10:15am | CE 1103 | Lecturecise 15: Code generation - Introduction (PDF) |

Wednesday 8:15am | INF213 | Labs 04 - Name analysis & Labs 05 - Type checking |

Wednesday 10:15am | INF213 | Lecturecise 16: Type Checking Exercises (PDF) |

Monday 10:15am | CE 1103 | Lecturecise 17: Quiz review. See sample quizzes from past years |

Wednesday 8.15am-11:55 | INF213 | QUIZ quiz-solution make-up quiz solution |

Monday 10:15am | CE 1103 | Lecturecise 18: Code generation - Conditions and Loops (PDF) |

Wednesday 8:15am | INF213 | Labs 05 - Type Checking |

Wednesday 10:15am | INF213 | Lecturecise 19: Code generation: Complex Control Flow (PDF) |

Monday 10:15am | CE 1103 | Lecturecise 20: Code generation: Register Allocation (PDF) |

Wednesday 8:15am | INF213 | Labs 06 - Code generation |

Wednesday 10:15am | INF213 | Lecturecise 21: Dataflow analysis as Constraint Solving (PDF) |

Monday 10:15am | CE 1103 | Continue Labs 06, Final Project Phase Assignment |

Wednesday 8:15am | INF213 | Final Project Phase |

Wednesday 10:15am | INF213 | Lecturecise 22: Dataflow analysis in PHP, Scala and Leon (Etienne) |

Monday 10:15am | CE 1103 | Labs 07 - Final Project Phase |

Wednesday 8:00am | INF213 | Presentations of Final Projects |

Wednesday 10:15am | INF213 | Presentations of Final Projects |

Last year's edition: 2014

Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5) Creative Commons Licence