FDD3024 Research preparation course in programming languages and formal methods

View the course on GitHub

About the course

This course at KTH introduces theory, methods, and tools that are prerequisites for research in the areas of programming languages and formal methods. The course awards 10 ECTS credits and the examiner is Mads Dam.

Course intended learning outcomes

At the end of the course the student should be able to:

Course organization

The course consists of five modules given by members of faculty and postdocs at the KTH Department of Theoretical Computer Science over a full term = two periods. Each module consists of 3-6 lectures.

Course examination

At the end of each period the course spans, a take-home exam is given over two days consisting of one problem set per module associated with that period. After handing in written solutions, students must book a slot to present and discuss their solutions with a teacher, who will then grade each problem set pass/fail. A student must get a pass on all problem sets to pass the course.

Course modules

Module 1 (Period 4, spring 2026)

Module 2 (Period 4, spring 2026)

Module 3 (Period 4, spring 2026)

Module 4 (Period 1, fall 2026)

Module 5 (Period 1, fall 2026)

Lecture Schedule for Period 4, 2026

Lecture Module Date Time Location Topic Slides
1 1 Apr 13 13:00 room 1537 Inductive rules, operational semantics, untyped lambda calculus TBA
2 1 Apr 15 15:00 room 1537 Simply typed lambda calculus, type systems, ML TBA
3 1 Apr 20 13:00 room 1537 Data types, abstract types, polymorphism, module systems TBA
4 1 Apr 23 13:00 room 1537 Simple types, dependent types, theorem proving TBA
5 2 Week 18 TBA TBA Concurrency TBA
6 2 Week 18 TBA TBA Concurrency TBA
7 2 Week 19 TBA TBA Concurrency TBA
8 2 Week 19 TBA TBA Concurrency TBA
9 2 Week 20 TBA TBA Concurrency TBA
10 3 Week 20 TBA TBA Hoare logic TBA
11 3 Week 20 TBA TBA Hoare logic TBA
12 3 Week 20 TBA TBA Hoare logic TBA

Lecture Resources

Lecture Module Resources
1 1
2 1
3 1
4 1