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.