Lectures

The purpose of the lectures is to give a gentle introduction to the different topics, as well as to cover most of the algorithms and techniques needed to solve the assignments. The complete slides will be available directly after the lectures.  We strongly recommend that you attend the lectures in person, but you can also follow the lectures using Zoom using this link: https://kth-se.zoom.us/j/65449365266. Note that the lectures will not be recorded.

Videos

We will continuously add new videos related to this course in the following playlists:

Lectures

Lecture Number

Date, Time, and Place

Lecture Title

Module

Presenter(s) and Slides 
LE1

October 28,
15.15 - 17.00
 Ka-205, Kista

Course Introduction 

Module 0: Getting Started

David and Philipp

[slides Download slides]

LE2

October 29,
8.15 - 10.00
M33, Main Campus

Introduction to Scala Module 0: Getting Started

Philipp
[slides Download slides]

LE3

October 29,
15.15 - 17.00
Ka-205, Kista

Introduction to OCaml Module 0: Getting Started

David
[slides Download slides]

LE4

November 4,
13.15 - 15.00
U41, Main Campus

Lexical Analysis  Module 1: Lexical Analysis, Syntax Analysis, and Semantic Analysis

Philipp
[slides Download slides]

LE5

November 4,
15.15 - 17.00
U41, Main Campus

Syntax Analysis Module 1: Lexical Analysis, Syntax Analysis, and Semantic Analysis

 

David
[slides Download slides]

LE6

November 5,
15.15 - 17.00
Q36, Main Campus

Semantic Analysis  Module 1: Lexical Analysis, Syntax Analysis, and Semantic Analysis

 

Philipp
[slides Download slides]
Simply-typed lambda calculus Links to an external site. (book chapter)

LE7

November 18, 
8.15 - 10.00
Ka-301, Kista

Linkers, Loaders, and Assembly Programming Module 2: Code Generation and Runtime Environments

David
[slides Download slides]

LE8

November 18, 
10.15 - 12.00
Ka-308, Kista

Intermediate Representations and Instruction Selection Module 2: Code Generation and Runtime Environments David
[slides Download slides]
LE9

November 19, 
8.15 - 10.00 Ka-205, Kista

Garbage Collection Module 2: Code Generation and Runtime Environments

 

David
[slides Download slides]

 

L10

November 21,
15.15 -17.00
Q36, Main Campus

Managed Runtime Environments Module 2: Code Generation and Runtime Environments

Philipp
[slides Download slides]

LE11

December 2
10.15 - 12.00
Ka-205, Kista

Liveness Analysis and Register Allocation

Module 3: Program Analysis and Optimizations

David
[slides Download slides]

LE12

December 3
10.15 - 12.00
Q31, Main Campus

Register Allocation cont. and Compiler Correctness

Module 3: Program Analysis and Optimizations

David and Philipp
[slides Download slides]

Keynote at PLDI 2024 by Magnus Myreen Links to an external site. on "Much Still to Do in Compiler Verification (A Perspective from the CakeML Project)"

LE13

December 4, 
8.15 - 10.00
M33, Main Campus

Alias analysis, Dominators, and Loop Optimization Module 3: Program Analysis and Optimizations

 

Philipp
[slides Download slides]

L14

December 5,
10.15 - 12.00
Ka-205, Kista

Static Single Assignment (SSA) Module 3: Program Analysis and Optimizations

Philipp
[slides Download slides]

LE15

December 13,
10.15 - 12.00
Ka-205, Kista 

Course Summary and Research Outlook

David and Philipp
[slides Download slides]
[slides from guest lecture Download slides from guest lecture]