teaching
My teaching statement is here.
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 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 usage work in my classes.
Mobile Computing
- Mobile Computing – getting started (hello world goes mobile) (*)(+)
- How to integrate mobile applications into the cloud (+)
- Building huge mobile systems (+)
- Mobile game development (+)
- Software Engineering
- Modeling (*) (+)
- Visual Programming (*) (+)
- MDE (*) (+)
- Agile Software Development (*) (+)
- Software architecture (+)
- Web- and cloudservices
- 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 (+)
- Distributed Computing
- Introduction to Grid Computing (+)
- Hands on courses for classic or Desktop grids (*) (+)
- P2P networks
- distributed storage
- distributed computing
- security and privacy in
- Programming (introduction and advanced)
- in Python (preferred for introduction) (+)
- This can be also done as game design courses, using python-game and panda3d.
- in Java (+)
- in C/C++ (+)
- visually (with UML and Story diagrams) (*) (+)
- Also here can shift the focus on game design
- in Python (preferred for introduction) (+)
- 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 would be also interested in teaching the following:
- Game and simulation design (not only for Computer Science, I have background for developing games for the Estonian society: see algs)
- Database design
- Online collaboration and learning (content management, wikis, moodle and friends)
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:
2012 fall term
- 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
My teaching statement is here.
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 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 usage work in my classes.
- Distributed Computing
- Introduction to Grid Computing (+)
- Hands on courses for classic or Desktop grids (*) (+)
- full term courses
- P2P networks
- distributed storage
- distributed computing
- security and privacy in
- Software Engineering
- Modeling (*) (+)
- Visual Programming (*) (+)
- MDE (*) (+)
- Agile Software Development (*) (+)
- Software architecture (+)
- Webservices
- Programming (introduction and advanced)
- in Python (preferred for introduction) (+)
- This can be also done as game design courses, using python-game and panda3d.
- in Java (+)
- in C/C++ (+)
- in Haskell
- visually (with UML and Story diagrams) (*) (+)
- Also here can shift the focus on game design
- in Python (preferred for introduction) (+)
- Security in communication networks
- Operating Systems
- Basics (Filesystems, Threading, Locking)
- Systemadministration
- Virtualization (*)
- Seminars and lab courses in the areas of
- Distributed Systems
- Software Engineering
- Academic writing and presenting in computer science
I would be also interested in teaching the following:
-
Game and simulation design (not only for Computer Science, I have background for developing games for the Estonian society: see algs)
- Database design
- Online collaboration and learning (content management, wikis, moodle and friends)
- Mashup programming and Scraping – How to harvest contents?
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.
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)
- Seminars:
- Distributed Systems seminar (1, 3, or 5CP)
2009 spring term
-
Lecture: Systems Modeling: MTAT.03.083 (4AP,6CP)
- Seminars:
- 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)
Not so much teaching this term as there is a huge supervision load and due to the fact that I have less teaching responsibilities because of a now full postdoc researcher position.
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

