I teach the courses Distributed Algorithms (period 1), Concurrency & Multithreading (period 2), and Protocol Validation (every other year, period 5; next time in April-May 2016) at the Department of Computer Science of the Vrije Universiteit Amsterdam.

I also teach a course on Datastructures and Algorithms at the *Amsterdam University College*, in the first semester.

Some material of courses I taught in the past:

- Real-Time Embedded Systems (only slides), based on:
J.W.S. Liu,

*Real-Time Systems*, Prentice Hall, 2000 - Process Algebra, based on:
W.J. Fokkink,

*Introduction to Process Algebra*, Texts in Theoretical Computer Science, An EATCS Series, Springer, 2000 - Logic Programming, based on:
I. Bratko,

*PROLOG Programming for Artificial Intelligence*(3rd edition), Addison-Wesley, 2000