Teaching Information
I am or 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.
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.