teaching
Courses
At Leiden University, I am teaching the following:
-
Software Engineering (Spring 2026)
-
Formal Methods for AI (Winter 2026) stay tuned! This is a course that I will design by myself, covering key topics of safe AI and automated reasoning. If you are designing and/or teach a similar course and are interested in course design, feel free to reach out to me. I am always happy to discuss about it!
Bachelor and Master Projects
I am always excited to work with motivated students. Below are a few directions and example topics, but I’m equally happy to hear your ideas. Feel free to also browse my publications for inspiration.
Most projects involve implementing new or improved algorithms and therefore benefit from programming experience, ideally in C++ or Python. For many topics, curiosity and a willingness to learn during the project are more important than prior expertise.
Direction: Certified Neural Control
Deep learning is increasingly used in robotics and control, yet ensuring safety and stability remains challenging. We build tools that make learned controllers safer and produce data-driven proofs (certificates) of their correctness. We are also interested in formally verifying the correctness of these controllers.
If this fits you:
-
You enjoy implementing algorithms and are curious about machine learning, C++ or Python preferred.
-
We have projects regarding case studies, building and evaluating tools, and theoretical advances.
Direction: Symbolic Verification & Automated Reasoning
Formal methods are widely used to guarantee the correctness of safety-critical systems. The underlying solvers are complex; we design certificates (independently checkable evidence) that validate solver results and increase trust.
If this fits you:
-
You enjoy implementing algorithms (C++ preferred) and are interested in formal methods such as SAT/SMT and model checking.
-
We have projects regarding case studies, building and evaluating tools, and theoretical advances.