At Universiteit Leiden (Netherlands), the University of British Columbia (UBC, Canada) and TU Darmstadt (Germany), I've taught and developed graduate courses in algorithms, artificial intelligence, bioinformatics, computer music as well as research methods specific to the field of computer science.
At the undergraduate level, I've also taught courses in algorithms, theory of computing and a 1st-year introduction to computer science (at times, cross-listed in UBC's women studies programme), for which I have led a major assessment and improvement efforts, supported by UBC's Carl Wiemann Science Education Initiative.
I've also given a number of tutorials at top-tier AI conferences, as well as several courses at the international graduate summer school of the University of Trento (Italy), and I've taught modules of Leiden University's pre-university college (for grade 12 high-school students) and continuing education programmes.
An important part of my educational activities consists of the individual supervision of students at all levels in their research and thesis projects. Many of my publications are the results of these projects, and many of my former students have moved on to leadership positions in academia and industry.