Lectures
This page gives highlights of past lectures and provides lecture notes, reading assignments, and exercises.
Chapters and sections in the readings are from the textbook, unless specified otherwise.
Topic 00 - Course introduction and overview
- 28 Mar
- Course overview
- Slides
- 28 Mar
- Course introduction
- Slides,
- Grading policy
Topic 02 - Syntax and semantics of programming languages
- 18, 20 Apr
- 25 Apr
- 27 Apr
- 02 May
- Formal semantics: Operational semantics
- Old recorded lecture
- 04 May
- Program equivalence as SMT
- 09 May
- Formal semantics: Lambda calculus
- Old recorded lecture
- 11 May
- Formal languages
- 16 May
- Tutorial for Project 1
- 18 May
- Exam 1
Topic 03 - Implementing programming languages
- 23 May
- Introduction to Python
- Pre-recorded lecture 1 (by Prof. Fernando Pereira)
- Pre-recorded lecture 2 (by Prof. Fernando Pereira)
- 25, 30 May
- 01 Jun
- 06 Jun
- 08 Jun
- 13, 15 Jun
- 20 Jun
- Tutorial for Project 2