CS-320, Edition 2016
| Instructor | Viktor Kuncak |
| PhD Assistants | Manos Koukoutos and Ravi Kandhadai |
| MSc Assistants | Tristan Overney, Ogier Bouvier and Alfonso Peterssen |
| Infrastructure advice | Etienne Kneuss |
| Secretary | Sylvie Jankow |
NEW: All slides
| Monday 10:15am | NO CLASSES | |
| Wednesday 8:15am | INF213 | Lecture 01: Introduction |
| Wednesday 10:15am | INF213 | Labs (always bring own laptops) Labs setup and then Labs 01 |
You may also wish to check the Gobble Gook video, which relates the subtle difference between compilers and interpreters to the familiar everyday situation of landing on an alien planet.
| Monday 10:15am | CE1103 | Lecture 02:Regular Languages and Lexical Analysis |
| Wednesday 8:15am | INF213 | Labs 02 and cont. Labs 01 |
| Wednesday 10:15am | INF213 | Lecture/Exercise 03: Lexical Analysis and Automata |
| Monday 10:15am | CE1103 | Lecture/Exercise 04: Lexical Analysis and Automata |
| Wednesday 8:15am | INF213 | Labs 02 (cont.) |
| Wednesday 10:15am | INF213 | Lecture/Exercise 05: Lexers and Grammars |
Grammar exercise system: http://grammar.epfl.ch
| Monday 10:15am | CE1103 | Lecture 06: CYK Parsing, Ambiguity, Building Trees |
| Wednesday 8:15am | INF213 | Lecture 07: Building Trees. LL(1) Parsing |
| Wednesday 10:15am | INF213 | Labs 03 (Parsing) |
In http://grammar.epfl.ch after Monday:
In http://grammar.epfl.ch after Wednesday:
| Monday 10:15am | CE1103 | Lecture 08: Follow Sets. Table-Driven LL(1) Parser. Exercises |
| Wednesday 8:15am | INF213 | Labs 03 (cont.) |
| Wednesday 10:15am | INF213 | Lecture 09: More Name Analysis. Introduction to Type Checking (PDF) |
| Monday 10:15am | CE1103 | Lecture 10: LL(1) Example and Type Checking Rules (pptx) (PDF) |
| Wednesday 8:15am | INF213 | Labs 04 |
| Wednesday 10:15am | INF213 | Lecture 11: Subtyping and Soundness (PDF) |
| Monday 10:15am | CE1103 | Lecture 12: Type System Soundness and Exercises (PDF) |
| Wednesday 8:15am | INF213 | Labs |
| Wednesday 10:15am | INF213 | Lecture 13: Code Generation Introduction (PDF) - short |
| Monday 10:15am | CE1103 | Lecture 14: Code Generation: Soundness. Conditionals and Loops (PDF, Leon proof for soundness) |
| Wednesday 8:15am | INF213 | Labs 05: Type checking |
| Wednesday 10:15am | INF213 | Lecture 15: Code Generation: Complex Control Flow (PDF) and Lecture 15b: Data-Flow Analysis and Control-Flow Graphs (PDF) |
| Monday 10:15am | CE1103 | Exercises (PDF) |
| Wednesday 8:15am | INF213 | Labs 05 (cont.) |
| Wednesday 10:15am | INF213 | Exercises (PDF) |
| Monday 10:15am | CE 1103 | Exercises (Continuation of previous exercise session) |
| Wednesday 8.15am-11:55 | INF213 and INM 10 | QUIZ |
| Monday 10:15am | CE 1103 | Lecture 16: Range Analysis (PDF) - first 23 pages |
| Wednesday 8:00am - 10:00 | INF213 | Labs 06: Code Generation |
| Wednesday 10:00am - 12:00 | INF213 | Lecture: Finish Range Analysis Slides from Monday (see above) |
| Monday 10:15am | CE 1103 | Lecture: Analysis Using Constraint Solving (PDF) |
| Wednesday 8:00am - 10:00 | INF213 | Final Project assignment |
| Wednesday 10:00am - 12:00 | INF213 | Work on Final Project, Ask Background Questions |
| Monday 10:15am | CE 1103 | Labs 06 & Final Project Phase Labs |
| Wednesday 8:00am - 12:00 | INF213 | Labs 06 & Final Project Phase Labs |
| Monday 10:15am | CE 1103 | Labs 06 & Final Project Phase Labs |
| Wednesday 8:00am - 12:00 | INF213 | Presentations of Final Projects |
Last year's edition: 2015
Attribution-ShareAlike 2.5 Generic (CC BY-SA 2.5) Creative Commons Licence