Lecturing at Aarhus University:
- Spring 2004+2005+2006+2007+2011 (3rd quarter): Web Technology
- Spring 2004 (3rd quarter), Spring 2005+2006+2007+2008+2009+2010+2011+2012 (4th quarter): Regularity and Automata
- Spring 2006 (4th quarter), two weeks: Programming Languages
- Spring 2000 & Fall 2002: Interactive Web Services
- Fall 2003 (2nd quarter), Spring 2007+2008+2010+2012 (4th quarter): Software Verification
- Fall 2004 (2nd quarter): Advanced XML
- Fall 2005+2006+2007+2008+2009+2010 (1st quarter), one week: Computer Science in Perspective
- Fall 2006+2007+2008+2009 (2nd quarter): Advanced Web Technology
- Spring 2005, Spring 2008, Fall 2009: Study Group in Types and Programming Languages
- Fall 2008+2009+2010+2011 (1st quarter): Concurrency
- Spring 2010+2012 (3rd quarter): Static Analysis
- Fall 2010+2011+2012 (1st quarter): Server-based Web Programming
- Fall 2010+2011+2012 (2nd quarter): Client-based Web Programming
Courses at Aalborg University:
- Fall 2005+2006+2007: Internet Technologies
- Fall 2006+2007+2008+2009+2010+2011, two/three weeks: Programming Paradigms
Summer schools:
- Estonian Summer School in Computer and System Science, Pärnu, Estonia
- Summer School on Language-Based Techniques for Integrating with the External World, Eugene, Oregon
Tutorials on XML and related technologies and interactive Web services with Java.