Automata & Complexity (VU)
In this course in the BSc Computer Science curriculum I covered a broad range of topics concerning automata and complexity theory. Starting with deterministic and non-deterministic finite automata, I took the students on a journey past regular expressions, grammars, push-down automata, on to Turing machines and problems of (un)decidability. Additionally, we looked at complexity classes such as NP. Finally, we took a brief look at quantum computing; discussing the basics of quantum circuits, and discussing Simon’s algorithm. See the web page. I taught this course twice in the period 2013-2015.
Algorithms for model checking (TU/e)
Treated Boolean equation systems, parity games, the connection of both, and solving algorithms and reduction techniques for parity games. This accounted for about 30% of the course (which was organised by Tim Willemse), which furthermore treated temporal logics LTL, CTL, CTL*, the modal mu-calculus, approaches for solving the model checking problems expressed in this logic. Furthermore, symbolic transformations into parameterised Boolean equation systems, and solving methods for the latter were discussed. See the web pages 2009, 2010, 2011, 2012 on Tim Willemse’s home page.
Automata and Process Theory (TU/e)
In 2009 I was an instructor for the course on automata and process theory. In this course the concepts of computability, communication, finite automata, push-down automata, Turing machines, regular expressions, grammars and formal languages were introduced. I instructed the English-speaking class. See the web page.
Requirements analysis, design and verification (TU/e)
In 2009 I was a corrector for this course that teaches the design of embedded systems using process algebra, the expression of properties in the modal mu-calculus, and the practical side of verifying systems using this approach. See the course webpage.
Design based learning (TU/e)
From 2006-2009 I was involved as a student assistant in several design based learning projects, covering different topics. In these projects, students are required to apply concepts learned in previous courses to a case study, an my responsibility was to guide the group process, and give feedback on the actual product. The topics include the design of generic business information system (2006), software specification (2009) and the design and implementation of a networked, 3D computer game (2009).
In 2006 I was involved as a student assistant in the course “Programmarealisatie 2”. This course introduces first-year students to the programming of graphical user interfaces.