Teaching
Contents
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:
2018 fall/winter term
The Internet of Things is Here -- Prototype Your Own in Mere Minutes. setii 2018, UNINOVE, São Paolo, Brazil, 11/2018
Introduction to the Internet of Things (IoT) for Makers and Doers and Artists. UFRJ, Rio de Janeiro, Brazil, 10/2018
2018 spring/summer term
Introduction for the Internet of Things for Makers and Doers, MIX Makerspace at George Mason University, Virginia, USA, 03-04/2018
2017 fall/winter term
Internet of Things
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
Lecture: Systems Administration: MTAT.08.021 (6CP)
Seminars: Distributed Systems seminar (2, 4, or 6CP)
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
Lecture: Introduction to Informatics - Distributed Systems (one session): MTAT.05.074
Lecture: Software Engineering: Software Engineering Lecture (one session): course number 5, MTAT.03.094 (6CP)
Lecture: Systems Modeling (one session): MTAT.03.083 (6CP)
Seminar: Distributed Systems seminar (1, 3, or 5CP)
2009 spring term
Lecture: Systems Modeling: MTAT.03.083 (4AP,6CP)
Seminar: Distributed Systems seminar (2AP,3CP)
2008 fall term
Lecture: Software Engineering: I took over two sessions of the Software Engineering Lecture: 4 and 10, MTAT.03.094 (4AP,6CP)
Seminar: Distributed Systems seminar, MTAT.08.014, MTAT.08.019, MTAT.08.024 (4AP,6CP)
2008 spring term
Seminar: Software Engineering in Distributed Systems, MTAT.08.017 (4AP,6CP)
Lab-Course: P2P Grid Software Project/ Friend to Friend (F2F)-Computing, MTAT.08.013 (4AP,6CP)
Seminar: Distributed Systems seminar, MTAT.08.014, MTAT.08.019 (1,2, or 3 AP)
2007 fall term
Lecture: Software Engineering: I took over two sessions of the Software Engineering Lecture: 6 and 21, MTAT.03.094 (4AP,6CP)
Seminar: Software Engineering in Distributed Systems, MTAT.08.017 (4AP,6CP)
Lab-Course: Spontaneous Desktop GRID: Friend to Friend (F2F)-Computing, MTAT.08.016 (4AP,6CP)
2007 spring term
Lecture: Software Architecture, MTAT.03.209 (4AP,6CP)
Lab-Course: P2P Grid Software Project/ Friend to Friend (F2F)-Computing, MTAT.08.013 (4AP,6CP)
2006/2007 winter semester
Special course over 8 weeks (initiated and supervised by me): Bright Brains in Informatics (German: Helle Köpfe in der Informatik)
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