I very much enjoy teaching and never cease to learn something new from the experience. Below is a list of modules that I am or have been involved with. Click on the links to get to more detailed pages. If you are one of my students and have any comments about my teaching, please do not hesitate to get in touch!
I was awarded the 2011 Teaching Excellence Award for the School of Natural and Mathematical Sciences at King's College London. See here for more details. Many thanks to all the students who nominated me.
I currently teach the following courses.
This 1st-year module builds on a previous module and teaches more advanced programming in Java as well as some software and user-interface design.
This masters-level course introduces notions of software architecture from the conceptual design all the way to formal specification and implementation.
Over time, I have supervised more than 15 theses at bachelor, masters, and diploma level. Many of these theses have led to successful publications at conferences or workshops. Holger Kampffmeyer has been awarded a Best Diploma Thesis award by IBM.
I am a collaborator on a project funded by King's College Technology Enhanced Learning Fund 2012 on designing vodcasts for teachning purposes.
A Java framework for point of sale applications that is being used in undergraduate lab courses.
Salespoint: A Java Framework for Teaching Object-Oriented Software Development. Science of Computer Programming, in press
[http] Refereed Journal Article
Research contribution: Writing contribution:
In the past, I have been involved in teaching the following courses. The list below is a selection not a complete list.
In 2009, I have co-taught with Prof. Awais Rashid the AOSD module in the Masters course on Advanced Software Engineering at Lancaster University.
This masters-level course discusses principles of variability and extensibility in software and product line engineering and how they are supported by design patterns, role-modelling and the use of frameworks. In the course, also held a number of years previous to the linked instance, I have been responsible for designing and executing exercise sessions once a week.
This masters-level course discusses component-based software engineering and its foundations, covering topics such as reflective programming and the meta-object protocol, reducible graph structures, black-box, grey-box, and white-box reuse, specific composition systems, such as EJB, Corba, Invasive Software Composition, aspect-orientation. In the course, also held a number of years previous to the linked instance, I have been responsible for designing and executing exercise sessions once a week.
In this course, groups of up to five students, involving both computer science and management masters, are giving a technology based on which they are asked to develop something useful. Each group must agree on an idea, systematically develop a running prototype and produce a viable business plan for earning money with their idea. Students have the opportunity to win great prizes at the national Accenture competition. The course has been running a number of years now. Dresden teams have always been placed at the front of the competition, often earning second and third places in the nationwide finals.
Similarly to the Accenture Campus Challenge, in this course, groups form teams of up to 5 students and build a prototype based on an idea of their own. Different from the ACC, students are not provided with a technology, but rather with a general theme. In 2008, for example, the theme was "Saving the environment".
This undergraduate lab-course has groups of five students work on their first systematic software development project. In the timespan of half a year, these groups are asked to analyse, design, and implement a point-of-sale application. They are given a Java-based framework on which they are to build their own implementation. The course has been running successfully since 1997. I am no longer directly involved with the course, but have been the original developer of the framework in use.