Proseminar Assignment Winter 2021/2022

The central registration for all computer science proseminars will open on September 14th.

This system is used to distribute students among the available proseminars. To register for any of the other proseminars that are offered by the computer science department, you have to register here until October 19th 23:59 CET. You can select which proseminar you would like to take, and will then be automatically assigned to one of them on October 22nd.

Please note the following:

  • We aim to provide a fair mapping that respects your wishes, but at the same time also respects the preferences of your fellow students.
  • Experience has shown that particular proseminars are more popular than others, yet these proseminars cannot fit all students. We thus encourage students to select their preferences for all available proseminars, which eases the process to assign students that do not fit the overly popular proseminars to another, less crowded one. Each student must therefore select at least three proseminars (with priority from "High" to "Low").
  • If you urgently need to be assigned to a proseminar in the upcoming semester, choose at least five proseminars (with priority from "High" to "Low"). We will then guarantee that you will be assigned to a proseminar (yet not necessarily one of your choice).
  • If you are really dedicated to one particular proseminar, and you do not want any other proseminar, please select the "No proseminar" as second and third positive option. However, this may ultimately lead to the situation that you are not assigned to any proseminar. Also, choosing "No seminar" as second/third option does not increase your chances of getting your first choice.

The assignment will be automatically performed by a constraint solver on October 22nd. You will be added to the respective proseminars automatically and be notified about this shortly thereafter. Please note that the assignment cannot be optimal for all students if you drop the assigned proseminar, i.e., make only serious choices to avoid penalty to others.


Algorithms and Complexity by Antoine Joux

This proseminar is meant to provide students an overview over foundational results in the area of algorithms and complexity. As a proseminar's primary purpose is to learn presentation skills, the seminar will feature two presentations from each student.


Depending on the Covid-19 situation, this proseminar will be organized via a visioconference system or on-site in block sessions.

After each presentation, the fellow students and lecturers will provide feedback on how to improve the presentation. This general feedback must then be taken into account for the second block of the course, where again each student will present.

For the first presentation, the student will present one of the proposed topics (based on one or two of the suggested references).

To not bore the audience, the second presentation will be on a related topic and based on a different reference document (book or research article).
This second reference will be chosen by the students (not from the initial list of references) and the relevance of the choice will be part of the grading of the second presentation.

The first presentations will count towards 30% of the overall grade, the choice of the second reference will count for 30% and the second presentation itself will count for the remaining 40% of the overall grade. Attendance in the proseminar meetings is mandatory. Because of the block structure, any absence needs a doctor's note as justification.

Requirements: Knowledge of programming, algorithms and basic Algebra.

Places: 10

Automated Testing and Debugging by Dominic Steinhöfel + Andreas Zeller

Software has bugs. By testing software, we can show the presence of bugs; by debugging it, we can locate, analyze, and ultimately fix bugs. Indeed, it is estimated that programmers spend half their time testing and debugging their code!

Wouldn’t it be great if we could automate the tedious tasks of finding useful test cases and isolating discovered problems, such that programmers can focus more on programming instead?

In this proseminar, we explore and evaluate automated techniques for testing and debugging software. We look at a number of classic approaches for generating software tests automatically, for finding errors and locating faults, and for having these two interact with each other. Additionally, we have a brief look at automated repair of buggy programs.

When participating in this proseminar, you will

* read all considered papers,
* actively participate in discussions,
* give brief presentations about two papers, and
* present one paper in a longer, graded presentation.

We encourage augmenting presentations with practical demonstrations of the presented techniques, for instance using Jupyter Notebooks.

During the seminar, you will receive feedback and general advice to help you refine your presentation skills.

The first part of the seminar consists of ~10 virtual (Zoom) sessions of one hour, with at most one session per week. In each of these sessions, we will have two short presentations and a feedback and discussion round.

In the second part of the seminar, participants will give their final, graded presentations. This part consists of several (at most three) block sessions, which might be held virtually or on-site.

Attendance in all (virtual and on-site) proseminar meetings is mandatory.

For more details, see the seminar page at

Requirements: General programming skills are required.
Knowledge of Python and Jupyter Notebooks is helpful, but not required.

Places: 10

Berechenbarkeits- und Komplexitätstheorie by Markus Blaeser

In dem Proseminar behandeln wir weiterführende Themen aus der Berechenbarkeits- und Komplexitätstheorie. Dieses Proseminar baut auf Resultaten aus der Vorlesung "Grundzüge der Theoretischen Informatik" auf.

Blockveranstaltung in den Semesterferien nach Absprache mit den Teilnehmenden.

Requirements: Grundvorlesung "Grundzüge der Theoretischen Informatik" oder entsprechend.

Places: 12

Computational Pragmatics by Olga Petukhova

Pragmatics as a branch of linguistics can be characterized as the study of language use in context and concerns with interpretation of utterance meaning in context. Computational pragmatics is pragmatics with computational means, which include models of dialogue management processes, collections of language use data, annotation schemes and software tools for corpus creation, process models of language generation and interpretation, context representations, and inference methods for context-dependent utterance generation and interpretation processes. Work on computational pragmatics often takes place within research on dialogue systems.

In this proseminar, we will learn how to perform research in computational pragmatics: (1) understand how to compute pragmatic meaning; (2) study the mechanisms underlying the main pragmatic inferences and aspects of pragmatic meaning; (3) discuss algorithms that enable the use of theoretical concepts in practical applications. Focus will be put on computational dialogue modelling for dialogue system design.

Organization: Seminar meetings will take place once a week. After two weeks independent work each student will give a presentation on a selected topic (30 minutes + 10 minutes questions) followed by a practical hands-on exercise. At the end of the course, each student has to prepare a short report (about 10 pages) and hand it for grading.

Grading: 40% based on the talk, 20% based on discussion participation and assignments; 40% based on the report

Course website:

Requirements: The course is intended for Bachelors students in Language and Speech Technology, but Computer Science students are also welcome to participate. There are no formal prerequisites.

Places: 10

Distributed Consensus by Julian Loss

Distributed Consensus is the fundamental problem of reaching agreement on a common output over a point-to-point network. While this problem has been studied for many decades, it has recently seen renewed interest in the context of blockchain protocols. In this seminar, we will cover some of the most important results in this area. This fascinating journey will take us from early feasibility/infeasibility results to high-performance algorithms that scale to billions of users.

The seminar will follow a mixed mode of lecturing and presentation by participants. In about half of the lectures, we will focus on classical works from the literature. For the other half, you will be asked to give a 45-minute presentation about a recent paper, which will determine your grade for the seminar.

Places: 15

Privacy of Machine Learning by Yang Zhang

Machine learning has witnessed tremendous progress during the past decade, and data is the key to such success. However, in many cases, machine learning models are trained on sensitive data, e.g., biomedical records, and such data can be leaked from trained machine learning models. In this seminar, we will cover the newest research papers in this direction.

Requirements: Students are required to have basic knowledge of data mining and machine learning.

Places: 4

Simulation der Welt by Kristina Schaefer, Karl Schrader, Joachim Weickert

Typische Probleme der realen Welt wie Fußpilzwachstum, Verkehrsstaus, Zugverspätungen und Klimakatastrophen können mittlerweile durch geeignete mathematische Ansätze modelliert und am Computer simuliert werden. Hierbei kommen häufig gekoppelte gewöhnliche Differentialgleichungen zum Einsatz, mit denen sich das Verhalten schwer verständlicher rückgekoppelter Systeme gut erfassen lässt.
Ziel des Proseminars ist es, die mathematischen Grundlagen solcher Simulationen kennenzulernen. Anhand ausgewählter Beispiele wird der Prozess von der Modellbildung über die Simulation bis hin zur Interpretation der Ergebnisse deutlich gemacht.

Weitere Informationen finden Sie auf der Webseite des Proseminars:

Requirements: Das Proseminar richtet sich an Studierende der Informatik und Mathematik mit Mathematikkenntnissen im Umfang von 2-3 Semestern. Bildverarbeitungskenntnisse sind nicht erforderlich.

Places: 7

Software Analytics by Sven Apel, Annabelle Bergum, Thomas Bock, Sebastian Boehm, Christian Hechtl, Christian Kaltenecker, Florian Sattler, Kallistos Weis

Open-Source Software (OSS) projects have gained more and more popularity over the past decades.
As a result, the communities working on OSS projects have grown from small groups of volunteers to large, globally distributed teams.
This can lead to problems as (other than in companies) there often is no central management and the people working on the projects mostly govern and organize themselves with the help of Codes of Conduct and other measures.
To better understand and help improve collaboration in OSS projects, software engineering research has shown a great interest in the community structures and processes of OSS projects by using software analytics of the repository and communication channel histories of these projects.
In this seminar, we explore some of the topics about the human factor of OSS projects, such as the diversity of communities, social interactions of people, technical interactions, and how collaborators communicate among each other.

In this course, each participant has to perform an extensive literature search for the given topic.
Subsequently, the topic and the results of the literature research are incorporated into a presentation and a written thesis.
To aid the literature research and the presentations, this course includes two preparatory sessions at the beginning of the semester.
The student presentations will be held on-site at the university (under the caveat that the pandemic situation admits in-person sessions) in January and February 2022 Thursdays 12:15 PM - 2:00 PM.

The topic assignment will take place on Thursday October 28, at 12:15 PM. Further information will be provided via e-mail after the registration.

Requirements: Basic knowledge of software engineering

Places: 7

Trustworthy Machine Learning by Mario Fritz

Machine learning has made great advances over the past year and many techniques have found their ways into applications. This leads to an increasing demand of techniques that not only perform well - but are also "trustworthy".

Trustworthiness includes:
- Interpretability of the prediction
- Robustness against changes to the input, which occur naturally or with malicious intend
- Privacy preserving machine learning (e.g. when dealing with sensitive data such as in health applications)
- Fairness
- ...

As a proseminar’s primary purpose is to learn presentation skills, the seminar will feature two presentations from each student. As presentation and writing skills are highly interlink for each presentation also a very short - at most 2 pages - report has to be handed in.

In the first half of the semester, we will have presentations of two topics each week. After each presentation, fellow students and lecturers will provide feedback on how to improve the presentation. This general feedback must then be taken into account for the second half of the semester, where again each student will present.

Requirements: Knowledge on Machine Learning

Places: 8