Teaching
I am habilitated to lecture in Dutch universities, as well as supervise graduation projects for BSc and MSc level students in computer science.
Teaching Timeline
- Jun 2020 – Guest lecture on CockroachDB and Distributed SQL at TU Delft (Master course Scalable Data Management).
- Feb–Mar 2017 – Lecturing on Data Structures (BSc) and Programming in C, University of Amsterdam. Course organizer. See materials below.
- Jan 2017 – Guest lecture on Rust and abstract machine models, University of Amsterdam.
- Oct 2016 – Guest lecture on distributed storage and databases, MSc Systems and Network Engineering, University of Amsterdam.
- Apr–May 2016 – Lecturing on Operating Systems (BSc), University of Amsterdam. Course organizer.
- Feb–Mar 2016 – Lecturing on Data Structures (BSc), University of Amsterdam. Course organizer.
- Oct 2015 – Guest lectures on Computer Architecture, MSc Systems and Network Engineering, University of Amsterdam.
- Sep–Dec 2015 – Lecturing on Computer Architecture (BSc), Leiden University. Course organizer.
- Jul–Aug 2015 – Co-developed the Leerlijn Informaticavaardigheden (informatics skills curriculum) with Robert van Wijk and Floris Kroon.
- Apr–May 2015 – Lecturing on Operating Systems (BSc), University of Amsterdam. Course organizer.
- Dec 2014 – Authored the syllabus for the course Introduction to Programming (Java) at VU Amsterdam. See below.
- Sep–Dec 2014 – Lecturing on Computer Architecture (BSc), Leiden University. Course organizer.
- Sep–Dec 2014 – Lecturing on Systems Programming and Introduction to Programming (BSc), VU Amsterdam. Course organizer. See materials below.
- Apr 2014 – Guest lecture in the BSc course Operating Systems (University of Amsterdam) on machine virtualization. Slides.
- Mar 2014 - Guest lectures in the BSc course Data Structures (University of Amsterdam).
- Dec 2013 – Guest lecture in the MSc System and Network Engineering program (University of Amsterdam) on Extrinsically Adaptable Systems. Slides.
- Sep 2013 – Introduction to Unix sessions for first-year BSc students, University of Amsterdam.
- Sep–Dec 2013 – Lecturing on Computer Architecture (BSc), Leiden University. Course organizer.
- Sep–Dec 2012 – Lecturing on Computer Architecture (BSc), Leiden University. Course organizer.
- Sep–Dec 2012 – Lecturing on Computer Architecture (MSc), University of Amsterdam. Course organizer.
- 2012 - Guest lectures for Data structures (BSc). University of Amsterdam.
- 2012 - Guest lecturer at the ACS3 Parallel Programming summer school.
- 2011 - Co-organizer and guest lecturer in the Multi-Moore summer school (“Getting Moore from multi-cores”)
- 2010-2011 - Guest lectures for Concurrent Systems (MSc). University of Amsterdam.
- 2010-2011 - Guest lectures for Compilers and Operating systems (MSc). University of Amsterdam.
- 2009-2011 - Teaching assistant for Concurrent Programming, Compilers and Operating Ssytems, Functional languages. University of Amsterdam.
- 2004-2005 - Delivered professional trainings in Python and Zope.
Past Full Courses
- 2017:
- Programming in C, BSc Informatics, Universiteit van Amsterdam
- 2014-2017:
- Operating systems, BSc Informatics, Universiteit van Amsterdam.
- Data structures, BSc Informatics, Universiteit van Amsterdam.
- 2012-2013, 2013-2014, 2015-2016:
- Computer Architecture, BSc Informatics, Universiteit Leiden.
- 2014-2015:
- Systems Programming, BSc Informatics, VU Amsterdam.
- Introduction to Programming, BSc Econometrics/Business Analytics, VU Amsterdam.
- 2011-2012:
- Advances in Computer Architecture, MSc Grid Computing, Universiteit van Amsterdam. In replacement of prof. Chris Jesshope.
Ongoing and completed student projects
I have mentored and supervised numerous student projects. Here is a selected subset:
Doctoral theses
- Mike Lankamp, Design and Evaluation of a Multithreaded Many-Core Architecture, PhD thesis (co-supervised with prof. C. Jesshope), 2007-2015
- Dr. Jian Fu, A fault tolerance framework in a concurrent programming environment, PhD thesis (co-supervised with prof. C. Jesshope), 2010-2014
- Dr. Qiang Yang, On the exploration of the DRISC architecture, PhD thesis (co-supervised with C. Jesshope and M. Lankamp), 2009-2014
Master theses
- Tuba Kaya, Automatically detecting ORM performance anti-patterns on C# applications, MSc Thesis, 2015.
- Andrei Matei, Towards Adaptable Parallel Software - the Hydra Runtime for SVP Programs, MSc Thesis, 2009/2010
Bachelor theses
- Mark Laagland, Advanced virtual memory translation in a many-core architecture, BSc thesis (honours), 2015
- Ellen van Leeuwen, Availability Analysis of PostgreSQL under Fault Injection, BSc thesis, 2016
- Gerard Schröder, Robustness Analysis of distributed databases via fault injection, BSc thesis, 2016
- Max Grim, Consistency analysis of CockroachDB under fault injection, BSc thesis, 2016
- David Veenstra, Technologies and basic blocks for a modern educational operating system, BSc thesis, 2016
- Daan Siepelinga, VisualBlame - An interactive Git blame visualization, BSc thesis, 2016
- Thomas van Ophem, Geography-based selection of news items, BSc thesis, 2015
- Mike Trieu, Multi-touch visualisation of many-core simulations, BSc thesis, 2015
- Justin van Wageningen, Automatic collection and merging of bibliographic data, BSc thesis, 2015
- Patrick van der Pal, Automatic network layout using Moore and Hilbert curves, BSc thesis, 2015
- Tom Peerdeman, Minecraft-to-C compiler for Raspberry Pi, BSc thesis, 2014
- David van Erkelens, Multi-modal visualisation of resource consumption in computer systems, BSc thesis, 2014
- Laurens Verspeek, Trusting web sites using geographical consistency, BSc thesis, 2014
- Koen Koning, Trap handling with hardware multithreading, BSc thesis, 2013
- Kas van 't Veer, Music Based Quality Control in Software Engineering, BSc thesis, 2013
- Leendert van Duijn, Dynamic loading in a single address space operating system, BSc Thesis, 2012
- Stefan Kok, Concurrency management with S-NET, BSc thesis (co-supervised with C. Grelck and M. Verstraaten), 2012
- Ben de Graaff, Implementing Scheme in a massively concurrent architecture, BSc Thesis, 2011