Proseminar Assignment Summer 2024

The central registration for all computer science seminars will open on March 12th.

This system is used to distribute students among the available seminars offered by the CS department. To register for any of the seminars, you have to register here until April 17th, 23:59 CET. You can select which seminar you would like to take, and will then be automatically assigned to one of them on April 19th.

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 seminars are more popular than others, yet these seminars cannot fit all students.
  • Please only select seminars if you are certain that you actually do want to complete a seminar this semester. If you have already obtained sufficient seminar credits, or plan to take other courses this semester, feel free not to choose any seminars. Students who drop out of seminars take away places from those, who might urgently need a space or are strongly interested in the topic.
  • We encourage those students who wish to take a seminar this semester, to select their preferences for all available seminars, which eases the process to assign students that do not fit the overly popular seminars to another, less crowded one. So if you are serious about taking a seminar this semester, please select at least three seminars (with priority from "High" to "Low").
  • If you urgently need to be assigned to a seminar in the upcoming semester, choose at least five seminars (with priority from "High" to "Low"). We will then guarantee that you will be assigned to a seminar (yet not necessarily one of your choice).
  • If you are really dedicated to one particular seminar, and you do not want any other seminar, please select the "No seminar" as second and third positive option. However, this may ultimately lead to the situation that you are not assigned to any seminar. Also, choosing "No seminar" as second/third option does not increase your chances of getting your first choice.

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


Algorithms and Complexity by Daniel Marx

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.

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

Computer-Assisted Proofs in LEAN by Laurent Bartholdi, Leon Pernak

As mathematical research advances, researchers become more and more specialized, and the mathematics they produce becomes more and more complicated to verify.
The possibility to formalize and check proofs thanks to computer programs is thus more relevant than ever. What’s more, tremendous progress in recent years make it so that formalizing actual research level mathematics is possible, and formalizing student level mathematics is accessible to students.
In this seminar, students will practice with the LEAN proof assistant (
We meet weekly on Zoom, and discuss informally: each student gets a chance to speak, to explain the work they have done in previous weeks, and to plan ahead.
See the course's page to obtain the zoom link.

Requirements: Students may obtain up to 8 credit points, by formalizing a theorem or new definitions, thus contributing to mathlib, the library which gathers all mathematics that has already been formalized in LEAN.
Topics suitable to both MSc and BSc students will be offered, no prior knowledge is required.

Places: 10

Das Buch der Beweise/Proofs from the book by Markus Bläser

Der berühmte Mathematiker Paul Erdös hatte die Idee, dass es ein Buch geben könnte, in dem zu jedem mathematischen Satz der perfekte Beweis zu finden sei („You don’t have to believe in God, but you should believe in The Book“). Martin Aigner und Günter Ziegler haben sich an einer Approximation zu diesem Buch versucht: Das Buch der Beweise (Proofs from the book), erschienen im Springer Verlag. In diesem Proseminar werden wir gemeinsam einen Teil dieser Beweise bearbeiten.

Die Vortragssprache ist wahlweise Deutsch oder Englisch.

The famous mathematician Paul Erdös liked to talk about a book, in which god maintains the perfect proof for mathematical theorems („You don’t have to believe in God, but you should believe in The Book“). Martin Aigner and Günter Ziegler wrote an approximation of this book: Proofs from the book, published by Springer. In this proseminar, we will explore some of these perfect proofs together.

Talks can be in German or English.

Requirements: Mathematics for Computer Scientists 1 + 2 + 3 and Introduction to Theoretical Computer Science is helpful.

This is a block course in the summer break. The proposed week is Oct. 7 to Oct. 11, 2024. The proseminar will most likely collide with SoPra. Please select this proseminar only if you do not plan to attend SoPra.

Places: 12

Embedded Systems Security by Ali Abbasi

From critical infrastructure to consumer electronics, embedded systems are all around us and underpin the technological fabric of everyday life. As a result, the security of embedded systems is crucial to us.

This seminar covers research papers addressing various topics in embedded systems security. This includes topics such as instruction profiling (template attack), fault injection and side-channel attacks, firmware static and dynamic analysis, intrusion detection in embedded systems, automotive/space systems security, and fuzzing embedded systems.

More information is available on the proseminar website:

Requirements: A solid background in systems security is a plus

Places: 8

Introduction to Distributed Consensus by Julian Loss

Distributed Consensus is the fundamental problem of reaching agreement on a common output over a point-to-point network. This problem has been studied for many decades and 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.

Requirements: Basic background in computer science and algorithms.

Places: 10

Language Models at the Intersection of Cognitive Science and Software Engineering by Prof. Dr. Sven Apel

Although tools such as GitHub Copilot provide significant assistance for specific stages of the software development lifecycle, they fall short in supporting other crucial areas. One notable example is the design process, which encompasses tasks such as the creation and refinement of software models, including UML class and sequence diagrams.
This seminar will investigate why this gap exists. A brief review of previous strategies, specifically non-machine learning approaches, will provide an understanding of ongoing challenges in the field and how these can be addressed using large language models.
We will explore the current applications of large language models in automating and assisting the development of software systems. Our objective is to examine the opportunities recent advancements in the machine learning domain (for example, ChatGPT) have unlocked in various areas, such as software model completion.
By also focusing on psychological aspects of software engineering, we aim to understand how contributions not only advance technical capabilities but also support the human elements of software development.

The seminar includes analyzing the contributions of selected papers on code generation, code comprehension, documentation, and model completion as well as discussing potential future directions together.

More information:
The seminar takes place Thursdays from 12:00 -14:00 (4-5 appointments in sum)

Requirements: This seminar is open to Bachelor and Master students.
Some foundational knowledge acquired through courses such as Programming 2, the Software Engineering Lab, or similar, would be beneficial but is not required.

Places: 5

Mining Input Structures by Rafael Dutra + Andreas Zeller

How can one determine the input language of a program to test and debug it thoroughly? In this advanced seminar, we study several approaches to mining input structures and implement them all. Our set of techniques includes:

* Mining Input Grammars
* Learning Tokens
* Learning Input Properties
* Explaining Failures

and more!

The general process will be as follows: Each week, you get 1-2 reading assignments and write an abstract about them. We may also ask you to give an (ungraded) five-minute short presentation to kick off the discussion and improve your presentation skills. Having discussed the approach, you have another week to optionally finish a programming assignment (using Python and Jupyter Notebooks). in which you implement the respective technique in and for Python.

At the end of the seminar, you give a 15-20 minute presentation on one of the techniques, including experiments you designed and conducted. We will determine your final grade from the final presentation (100%).

For details, see the course page at

Requirements: This seminar requires creativity and ambition. Experience with formal languages and program analysis is a plus. Prior knowledge in automated testing, debugging, and software engineering (notably from earlier courses) will be beneficial. In your motivation, please mention relevant projects and courses you have taken along with your grades.

Places: 2

Topics in Adversarial Machine Learning by Xiao Zhang

This hybrid seminar/proseminar course focuses on understanding the security threats adversaries pose to machine learning systems and the recent algorithmic advancements in building more robust machine learning systems to mitigate those threats. We will particularly focus on theoretical works in adversarial machine learning.

Students will take turns leading discussions on adversarial machine learning topics assigned in advance (including a 45-min presentation plus a 30-min Q&A session). Each student will present twice throughout the semester.

Detailed information is available on CMS:

Weekly attendance in the seminar/proseminar meetings is mandatory.

Requirements: Previous background in statistics and machine learning would be beneficial but optional as long as you are motivated and able to learn relevant fundamentals.

Places: 10

Trustworthy Generative Machine Learning by Lea Schönherr

Generative machine learning for different domains has become more and more prevalent in our daily lives. This includes text generation using ChatGPT, image and video generation using diffusion-model-based methods, and audio and voice cloning. However, all these models are vulnerable to issues like training data memorization, misalignment, and prompt injection.

In this seminar, you will work on specified topics that cover explanations of recent generative models and specialized attack vectors and their countermeasures. 

Detailed information is available on the website:

Requirements: Previous background in machine learning would be beneficial but optional as long as you are motivated and able to learn relevant fundamentals.

Places: 12

Volumetric Imaging & Video: From Pixels to Froxels by Robin Kremer & Thorsten Herfet

The representation of (captured) images and video has remained unchanged since it's infancy: Images are represented as pixels per line and lines per image, videos simply are a series of images. But we've entered an era of severe changes in capturing content: Multicamera-arrays even in mobile devices, depth sensing via Time of Flight or Gated Imaging, volumetric capture via LIDAR and new capture paradigms like event-cameras show, that computational imaging significantly differs from classical film-based capture and hence new forms of representing images and videos are needed.

The (pro-)seminar will review a palette of approaches for representing volumetric content. From multiview video plus depth (MVD) over point clouds and voxels we will introduce and discuss neural representations like neural radiance fields and neural surfaces as well as volumetric representations that consider the capture setup (Froxels) and we'll compare them to representations like point clouds or voxels.

Requirements: It's advantageous but not strictly required to have passed basic courses on Image Processing and/or Computer Graphic. You should be ready to read and review three scientific papers.

Places: 7