Supervised Theses




Organized Courses

Lecture: Informatik 1 (6 ECTS)

This course provides an introduction to programming for students in their first year. Students learn the to use a computer as a tool to create software. Based on the programming language “Python”, we teach foundational programming concepts, like assignments, control flow, classes and objects, as well as advanced concepts like testing, inheritance, and polymorphism. The lecture complements theoretic course topics with numerous examples, in which we demonstrate how these concepts can be applied in practice. The students also solve exercise at home over the full duration of the course to learn and practice how to write programs themselves.

Lecture: Advanced Software Engineering (6 ECTS)

This course allows students to deepen their knowledge of advanced software engineering practices. It covers the following specific topics: software architecture and design, testing, program representations, static anal- ysis, mining software repositories, continuous integration and release engineering, performance optimization, and aspect-oriented programming. Students work on a lab in parallel to the lecture, in which they re-build a software development tool from a publication of their choice, with the tools and principles learned in the course.

Seminar: Advanced Software Engineering (3 ECTS)

This seminar covers advanced topics in the area of software engineering. It prepares students for the scientific work expected in a thesis, by practicing the various phases, i.e., finding, reading, discussing, and reflecting on scientific work. In addition, students get introduced to the various research areas, in which our group is actively working, to provide them with the required background knowledge to accept a thesis in our group.

During the first weeks of the course, students will read papers and participate in active in-class discussion of the paper contents. Later, students will write an essay about a selected area of software engineering, will review essays of others, and will give a scientific presentation about their topic.

Group Lab: Master Project (2-4 students, 18 ECTS per student)

Organized on the department level, the Master project is a major group project for up to four students working on a subject that is closely linked to the active research of a group. Finishing the project is an intensive and demanding task and should be completed in the student’s major program. The Master’s project is supervised by researchers in the individual groups. It is carried out using scientific methods and must include a final report that combines the key technical results and the scientific aspects of the project. The project must be scientific in nature; the student must reflect on and present the results in an appropriate format.

Lab: Master Basis Module (3 ECTS)

The Master Basic Module is a individual self-study module that enables students to intensely dig into a topic of their own interest. Typical topics are advanced topics of software engineering. Each student selects a pre- defined topic in an advanced area of software engineering. The project will typically consist of surveying a varying number of scientific papers and of devising and implementing a small case study, in which the student applies the learned concepts to a research problem.

Teaching Activities

2019 (Summer)

2018 (Winter)

2018 (Summer)

2017 (Winter)


Older appointments are left out for now.