Lecture notes, slides and videos

The lecture notes (in HTML) and slides (in PDF) are posted below before the lecture.

The slides are available in two forms: either one page per sheet, with all animations expanded (1pps) or four pages per sheet, with all animations collapsed (4pps).

The videos of the 2021 edition of the course are also available. Notice however that there have been some changes to the material since then, but the videos will not be updated. So if you plan to follow the course remotely, be aware that in some cases you will have to rely on the lecture notes alone.

Date Lecture notes Slides Videos
2024-02-22 Course introduction 1pps / 4pps lecture
  The L3 project 1pps / 4pps  
2024-02-29 Intermediate representations 1pps / 4pps lecture
2024-03-07 Values representation 1pps / 4pps lecture
2024-03-14 Closure conversion 1pps / 4pps lecture
2024-03-21 Dataflow analysis 1pps / 4pps lecture
2024-03-28 Code optimization 1pps / 4pps lecture
2024-04-11 Register allocation 1pps / 4pps lecture
2024-04-18 Tail calls 1pps / 4pps lecture
2024-04-25 Interpreters and virtual machines 1pps / 4pps lecture (*)
2024-05-02 Memory management 1pps / 4pps lecture (†)

(*) Due to important changes in the L3VM and in the proposed implementation of threaded code in ANSI C, the video of the lecture on Interpreters and VMs is obsolete starting at 21:40. Please refer to the lecture notes.

(†) Due to important changes in the L3VM, the description of assignment 6 at the end of the lecture on Memory management is partly obsolete. Please refer to the lecture notes.