teaching

  • Multicore and Cluster Programming. 2013/14.
  • Functional Programming (ML, Haskell). 1996/97 to 1997/98, 2003/04, 2013/14.
  • Compiler Construction (Java). 1996/97 to 2000/01, 2008/09 to 2011/12, 2013/14.
  • Formal Method for Software Verification. From 2008/09 to 2011/12.
  • Software Testing. From 2007/08.
  • Object-Oriented Software Development (Java). 2006/07 to 2007/08.
  • Algorithms and Data Structures (Java). From 2003/04 to 2009/10.
  • Advanced Topics in Software Specification and Development. 2003/04 to 2006/07.
  • Principles of Programming Languages. 1994/95, 2006/07.
  • Introduction to Programming (C). 1995/96 to 1998/99, 2006/07.
  • Concurrent Programming (process calculi). 1995/96 to 2005/06.
  • Introduction to Programming (Java). 1999/2000 to 2001/02, 2003/04, 2005/06.
  • Logic for Computer Science. 2001/02.
  • Theory of Computing. 1995/96.