Teaching
Courses
Basic Approaches to the Semantics of Computation (1B)
Languages and Machines (2B)
Models and Semantics of Computation (1A)
Student Projects
General Information (Last updated: January 2, 2026)
Looking for a student project? Did you enjoy BSc courses like Languages and Machines? Here I collect information for BSc and MSc students at the UG interested in working under my supervision.
-
Broadly speaking, I look forward to supervising projects on methods and tools for program verification.
-
I am interested in rigorous programming models for message-passing concurrency, in particular process calculi.
-
On top of process calculi, I investigate verification techniques based on type systems, in particular session types.
-
-
In addition to projects on process calculi + session types, I also enjoy supervising projects on:
-
Logical foundations of concurrency. This concerns formal connections between session types and linear logic.
-
Concurrency and formal models of computing. One current interest concerns models for reversible computation, and how such models can help to debug concurrent programs.
-
-
In my research area, topics/projects can be theoretical but also practical (see below for a couple of examples).
-
Usually, I don’t have a long predefined list of potential research topics. In my experience, it is better to sit together and design a research topic of mutual interest, tailored to your interests and ambitions.
-
Coming up with a good research topic requires some independent study on your side; see pointers to resources below.
Suggested Resources
TBA.