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.
At the end of the course the student should be able to:
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.
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.
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 | 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 | Module | Resources |
|---|---|---|
| 1 | 1 |
|
| 2 | 1 |
|
| 3 | 1 |
|
| 4 | 1 |
|