Teaching is about passion.

In my opinion teaching is a lot about passion. My teaching statement is here.


  1. Teaching portfolio
  2. Teaching record

Teaching portfolio

Here are the courses I can offer to teach. Courses with a (*) I can also teach as a hands-on or intensive courses with a duration from one day to a week long. If you are interested in these hands-on courses, feel free to invite me (contact). I like to travel and exploring new cultures. The courses with a (+) I can hold with no or only a little preparation. I try to decrease the amount of classic lecture style classes in my courses to a minimum in favor of active learning methods. Expect a lot of hands on, interaction, and computer/hardware usage work in my classes.

  • Internet of Things and Mobile Computing
    • Home and Building Automation (*) (+)
    • Internet of Things (IoT) (*) (+)
    • Security for the Internet of Things (*) (+)
    • Foundations of the Internet of Things (+)
    • Mobile Computing and Internet of Things projects (+)
    • Mobile Computing - getting started (hello world goes mobile) (*)(+)
    • How to integrate mobile applications into the cloud (+)
    • Building huge mobile systems (+)
    • Mobile game development (+)
  • Programming (introduction and advanced)
    • Fundamentals of Programming (+)
      • I can offer a variant of learning the basics of programming in Python based on an IoT and microcontroller apprroach, using esp8266 and Micropython in this class, giving at the same time an introduction into the Internet of Things
    • in Python (+)
      • This can be also done as game design courses, using python-game and panda3d.
    • in Java (+)
      • This can be also done as game design courses, using libgdx (can also be done for android or iOS game development)
    • in C/C++ (+)
    • visually (with UML and Story diagrams) (*) (+)
      • Also here can shift the focus on game design
  • Software Engineering
    • Methological Programming (+)
    • Programming in a Team (*) (+)
    • Modeling (*) (+)
    • Visual Programming (*) (+)
    • Model Driven Engineering (MDE) (*) (+)
    • Agile Software Development (*) (+)
    • Software architecture (+)
    • Web- and cloudservices
  • Systems
    • Computer Systems and Architecture (+)
    • Operating Systems (+)
    • Basics (Filesystems, Threading, Locking) (+)
    • Unix and Linux systems and their friendly co-existence with Windows, Mac OSX - don't fear the command line (+)
    • Virtualization or the beauty of virtual machines (*) (+)
    • Systems Administration (+)
  • P2P networks
    • Cryptocurrencies (*)
    • distributed storage
    • distributed computing
    • security and privacy in networks
  • Distributed Computing
    • Cloud Computing (+)
    • Introduction to Grid Computing (+)
    • Hands on courses for classic or Desktop grids (*) (+)
  • Academic writing and presenting
    • How to do an interesting academic presentation (*)
    • Introduction to LaTeX and LyX - how to write a pretty and coreectly formatted and layouted academic document (*)
  • Seminars and lab courses in the areas of
    • Distributed Systems
    • Software Engineering
    • Academic writing and presenting in computer science

I have a long record in supervising students (see advising). If you are a student and need help with your work or have a good idea for a thesis in my research areas or projects, do not hesitate to contact me.

Teaching record


Here are the courses, I am currently teaching or have taught in the past:

2017 spring/summer term

2016 fall/winter term

  • Home and Building Automation

2016 spring/summer term

  • Home and Building Automation

2015 fall/winter term

  • The Beauty of Programming (Seminar on programming introduction based on Snap!)

2015 spring/summer term

  • Home and Building Automation (in FH Upper Austria as normal course and University of Kassel as intense Erasmus course)
  • Algorithms and Data Structures

2014 fall/winter term

I am now teaching at University of Applied Sciences Upper Austria.

  • Home and Building Automation
  • Computer and Operating Systems

2014 spring term

  • Foundations of Mobile and Ubiquitous Computing
  • Operating Systems

2013 fall term

  • Software Engineering - Methological Programming and Software Development in a Team
  • Computer Systems and Organization

2013 spring term

  • Fundamentals of Programming
  • Operating Systems

2012 fall term

I am now teaching at Nazarbayev University in Astana, Kazakhstan.

In this term I teach two courses:

  • Web Programming and Problem Solving
  • Computer Systems and Organization

My office hours are Tuesday 13:00-15:00 and Wednesday 9:00-11:00.

2012 spring term

Same as 2011 fall term. I assisted in planning and setting up the new Systems Adminstration course, mainly in shifting to a virtual machines-based lab. I am advising several students in their way to their bachelor and master thesis. I am looking forward to graduating my first doctor this year.

2011 fall term

I am out for a research year where I am doing a lot of traveling between the US and Switzerland. I assisted a lot in setting up the new Systems Modeling course (making a good part of the course based on our modeling book) and doing some supervision in the distributed systems seminar. Of course I am still advising and supervising students in their theses.

2011 spring term

2010 fall term

  • Lecture: Systems Modeling: MTAT.03.083 (6CP)
  • Seminars: Distributed Systems seminar (2, 4, or 6CP)

2010 spring term

  • Seminars: Distributed Systems seminar (2, 4, or 6CP)

2009 fall term

2009 spring term

  • Lecture: Systems Modeling: MTAT.03.083 (4AP,6CP)
  • Seminar: Distributed Systems seminar (2AP,3CP)

2008 fall term

2008 spring term

2007 fall term

2007 spring term

2006/2007 winter semester

2004/2005 winter semester

  • Lecture: Introduction to Computer Science, Programming in Modula 3
  • Seminar: Component Based Embedded Systems: Design, Configuration, and Deployment

2004 summer semester

  • Lab course: Tool Support for the eHome Process

2003/2004 winter semester

  • Lecture: Introduction to Computer Science, Programming in Modula 3
  • Lab course: Tool support for the Specification of eHome Services

2003 summer semester

  • Lab course: Ubiquitous Computing in eHomes

2002/2003 winter semester

  • Lecture: Introduction to Computer Science, Programming in Modula 3
  • Seminar: Ubiquitous Computing

2002 summer semester

  • Seminar: Noblesse Oblige: XML-Schema and other Graph Types - Applications and Extensions of the Graph Rewriting Language PROGRES