Seminar Assignment Summer 2021

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

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

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. We thus encourage students 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. Each student must therefore 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 automatically performed by a constraint solver on April 12. 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.


Automatic Differentiation by Sebastian Hack

Automatic Differentiation (AD) is a technique to evaluate the derivative of a computer program. One important application of AD is to apply gradient-descent based optimization techniques that are used e.g. in the training of neural networks to optimize parameters in general programs. AD therefore can be seen as a generalization of the backpropagation algorithm that is used for training neural networks to general code. Using AD, parameter training as used in machine learning can be applied in general-purpose programming allowing for more flexible structures than just neural nets.

In this seminar, we'll look at compiler techniques for performing AD on general code and ongoing research in programming language theory on AD.

Requirements: Having taken the compilers course is a plus. You'll also need a solid understanding of semantics and the willingness to dig a little deeper if necessary.

Places: 8

Computer Vision and Machine Learning for Computer Graphics by Christian Theobalt, Mohamed Elgharib, Vladislav Golyanik

Computer Vision strives to develop algorithms for understanding, interpreting and reconstructing information about real-world scenes from image and video data.

Computer Graphics focuses on image synthesis – algorithms to build and edit static and dynamic virtual worlds and to display them in photorealistic or stylised ways.

In recent years, these fields have converged more and more since both disciplines create and exploit models describing the visual appearance of objects and scenes. In this seminar series, we will cover advanced research topics that cross the boundaries between the fields of computer vision and computer graphics. We will concentrate on recent research results that were published at top-tier conferences and journals. This seminar will cover research papers from the following topics: video generation and manipulation, multi-view geometry and reconstruction, photorealistic rendering, deep learning for computer vision and computer graphics, multimodal video processing, hands, body and faces: a computer perspective.

Seminar website:

Requirements: This seminar is aimed at graduate students in computer science or related fields.

Places: 13

Coping with computational hardness: approximation, moderately exponential-time, and parameterized algorithms by Dániel Marx

Most optimization problems and combinatorial search problems are NP-hard, hence we do not expect to be able to find polynomial-time algorithms to solve exactly. But even for such problems, it is still possible to prove rigorous theoretical results that show the existence of algorithms that solve the problem more efficiently than naïve or brute force approaches. Approximation algorithms do not provide an optimal solution, but there is a provable bound on the quality of solution they find. The field of moderately exponential-time algorithms designs algorithms that searches a much smaller (but still exponential) solution space than brute force algorithms do. The running time of a parameterized algorithm is polynomial in the input size, but possibly exponential (or worse!) in some well-defined parameter of the input.

Designing algorithms of this form often requires deep insights into the nature of the problem and clever algorithmic/combinatorial ideas. In this seminar, we will read, present, and discuss research results with the goal of seeing how these algorithmic paradigms can be applied problems in different domains.

Requirements: A solid background in algorithms and some familiarity with concepts in optimization is necessary for this seminar, as well as a general affinity towards mathematical proofs.

Places: 10

Database Systems (Part 2) by Jens Dittrich

In this seminar, we will continue where the database systems core lecture ended.

We will look at algorithmic and systems aspects of modern database systems including topics like query optimization, indexing, and automatic system optimization. We will expect each participant to present one paper from current research, as well as summarize two additonal papers from related work. Optionally we encourgae you to demonstrate an algorithmic aspect of that paper in a Jupyter notebook (where applicable).

Throughout the semester, we will guide you how to read research papers and how to prepare an engaging talk.

All presentations will be given in the lecture break in the first week of August (tentatively, to be confirmed)

Requirements: You should have completed our database systems core lecture successfully.

Places: 10

Data-driven Understanding of the Disinformation Epidemic (DUDE) by Savvas Zannettou, Yang Zhang

Arguably, one of the greatest inventions of humanity is the Web. Despite the fact it revolutionized our lives, the Web has also introduced or amplified a set of several social issues like the spread of disinformation and hateful content to a large number of people.

In this seminar, we will look into research that focuses on extracting insights from large corpus of data with the goal to understand emerging socio-technical issues on the Web such as the dissemination of disinformation and hateful content. We will read, present, and discuss papers that follow a data-driven approach to analyze large-scale datasets across several axes to study the multi-faceted aspects of emerging issues like disinformation.

During this seminar, the participants will have the opportunity to learn about state-of-the-art techniques and tools that are used for large-scale processing, including, but not limited to, statistical techniques, machine learning, image analysis, and natural language processing techniques.

Requirements: There are no formal prerequisites for this seminar. Despite this fact, it will be helpful if the participants have a basic understanding of statistics.

Places: 16

Deep Reinforcement Learning by Timo P. Gros, Joschka Groß, Verena Wolf

Reinforcement learning (RL) is one of the three paradigms of machine learning and in combination with artificial neural networks it has enjoyed huge successes in challenging domains, such as mastering Atari Games, Chess, or GO.

In this seminar, we will discuss the basic concepts of deep reinforcement learning (DRL) as well as the details of popular DRL-algorithms. In the final phase of the seminar, the participants will apply these algorithms to a simple race car simulation.

The seminar will include short presentations by the participants, a programming project that will be solved in small groups, and a write-up.

The kick-off will take place at the beginning of July, the talks will be held on block mid-August, and the project will be placed after the talks.

Requirements: Background knowledge in Machine Learning/AI.

Places: 13

Exploring Graph Neural Networks by Verena Wolf, Gerrit Großmann

Graphs and Networks are ubiquitous in nature, and graph-structured data naturally occurs in a variety of disciplines including physics, chemistry, neuroscience, biology, social science, and epidemiology.

This seminar addresses the problem of learning from graph-structured data. Traditional machine learning and deep learning techniques are not well suited to process data containing rich relational information. Graph Neural Networks (GNNs), Graph Machine Learning, and Geometric Deep Learning offer an interesting perspective on this challenge and are currently one of the fastest-growing topics in ML research. GNNs can assist in discovering drugs, fighting cancer, detecting neurological disorders, analyzing complex systems, recommending friendships in online social networks, controlling traffic, as well as studying epidemiological processes.

We examine recent developments in graph ML research, study state-of-the-art techniques, discuss their limitations, and explore various applications.

Requirements: Basic knowledge of machine learning/ deep learning.

Places: 10

Game Development Technologies by Janis Sprenger, Noshaba Cheema, Philipp Slusallek

This seminar focuses on developing games using common techniques in the gaming industry. You will learn about game programming patterns, game AI (including Reinforcement Learning, as well as traditional graph search algorithms), advanced animation techniques, basics in level and character design, and procedural environment generation. For this you will use the Unity 3D engine and the programming language C#. Sufficient knowledge in Object Oriented Programming (e.g. in Java, C++ or C#) is therefore a pre-requisite.

During the course, we will demonstrate the basic building blocks of games and their application in research, while you will use the knowledge gained in the seminar sessions to develop your own game prototype.

You can find more information at:

Requirements: Ideally, you should have passed Programming 2, Softwarepraktikum, Nebenläufige Programmierung, Algorithmen und Datenstrukturen or have very good knowledge about programming as well as good experience in imperative programming using C#, C++ or Java. Unity utilizes C#, which is very similar to Java. It is expected, that you will gain the required knowledge in C# on your own.

Places: 15

Implementation of Control Systems by Martina Maggio

In this seminar we will look at practical aspects of the implementation of control systems. In the course, we will assume that a control system has been designed (in the form of a linear system, including both stateful and stateless controllers) to operate a given plant. We will look at the implementation of the corresponding control code. In particular, we will discuss: computational delays and how to analyse their effect on systems, sampling period choice, finite precision arithmetic, parameter tuning, and fault management.

Requirements: Matrices and linear algebra will play an important role during the course. The Embedded Systems course is a prerequisite to attend the seminar.

Places: 10

Interdisciplinary Seminar on How to Build a Social Computer by Patrick Gebhard

Computers, mobile phones, and wearables are part of our daily lives. Its user interfaces are designed to interact with facts, e.g. health parameters, documents, … – which is sufficient for some applications. But what if a computer system would understand users like human do and adapt to the individual social situation in order to establish a social human-like interaction? Such concepts are highly relevant to social training systems, e.g. virtual job interview training and work-life-balance systems. This interdisciplinary seminar in Psychology and Artificial Intelligence investigates the question „How to make computers social?“. What is social? What concepts, theories help to define being social? How do humans socially communicate? How can this be transferred into a computer model? What is technically feasible? How can this be exploited for social training systems? Relevant concepts and theories will be presented, discussed, and transferred into computer models. Three prototypical interactive social computer applications will be created as proof of concept by a group of six students each. Three students of psychology and and three students of computer science will work together designing, discussing, implementing, and creating an evaluation plan for each application. In total the seminar will host 18 students.

For previous versions see:

Requirements: Computer Science students should have knowledge in the areas of AI, HCI, and software design. A bachelor degree in Computer Science (or equal) seems appropriate.

The main language is German, English is possible. Why? The seminar is about emotions and values that have to be discussed between psychology and computer science students. Our recommendation is that the seminar language is in German. If students agree that English is used, they should be aware that this will demand for additional efforts (e.g., in-deep explanations).

Places: 9

IT-Forensik und Strafverfolgung by Jochen Krüger, Frederik Möllers, Stephanie Vogelgesang, Christoph Sorge

Bei dem interdisziplinären Seminar werden unter anderem folgende Themen angeboten:

1. Predictive Policing
2. Nutzung von Analysemethoden Künstlicher Intelligent zur Strafverfolgung
3. Telekommunikationsüberwachung in Mobilfunknetzen

Places: 7

Requirements: Es wird erwartet, dass Teilnehmer in der Lage sind, Vorträgen in deutscher Sprache zu folgen.

Places: 5

Legal Tech und eJustice by Jochen Krüger, Christoph Sorge, Frederik Möllers

Bei dem interdisziplinären Seminar werden unter anderem folgende Themen angeboten:

1. Einsatzmöglichkeiten von Blockchain-Anwendungen im deutschen Recht
2. Legal Tech-Anwendungen bei gerichtlichen Entscheidungen
3. Automatische Verschlagwortung

Requirements: Es wird erwartet, dass Teilnehmer in der Lage sind, Vorträgen in deutscher Sprache zu folgen.

Places: 5

Machine-Assisted Decision-Making by Krishna P. Gummadi, Nina Grgic-Hlaca

Machine learning (ML) based systems are frequently used to assist human decision makers, in scenarios ranging from medical diagnostics, to bail decision-making. To understand and moderate the effects of using ML based decision aids in practice, it is necessary to understand how human decision makers interact with such decision aids.

In this seminar, we will review recent advances in the area of machine-assisted decision-making. We will focus on four main topics: (i) Background in psychology of decision-making, (ii) Comparing human and machine decisions, (iii) Human perceptions of machine decision aids, and (iv) Machine-assisted human decision-making.

Course website:

Requirements: Background in machine learning is required to take part in this seminar. Students must have passed one or more of the following courses, or equivalent:
* Machine Learning
* Optimization
* Information Retrieval and Data Mining
* Elements of Machine Learning
* Probabilistic Machine Learning
* Neural Networks

Places: 12

Monitoring of Cyber-Physical Systems by Bernd Finkbeiner

A cyber-physical system is a digital component that controls a physical object such as an autonomous car, a nuclear power plant, or a medical implant. Cyber-physical systems are hard to design correctly; they are also difficult to test or verify. In this seminar, we will study dynamic analysis methods, where a monitoring component observes the behavior of the system and determines whether it is in an unsafe state. If a problem is detected, the monitor raises an alarm and prompts the system to initiate a mitigation protocol. We will take a look at state-of-the-art runtime monitoring techniques for cyber-physical systems and discuss recent developments in this field.

The seminar will have two phases. In the first phase, small groups of participants will read up on some subarea of the seminar and give an overview presentation. In the second phase, we will have individual presentations on recent papers.

Places: 12

Multimodal Dialogue Systems by Volha Petukhova

We currently see transformative developments in novel devices and sensing technologies that get more and more interconnected and seamlessly integrated in everyday human activities. Multimodal conversational interfaces enable users to interact with their devices, appliances and other systems in an intuitive and natural manner. Multimodal dialogue is not only the most social and natural form of interaction, but has been proven to have positive effects when
incorporated in human learning and medical treatment.

In this seminar, we will discuss the newest research and development trends in spoken (multimodal) dialogue system design and learn about state-of-the-art techniques and tools. Selected papers are important papers defining theoretical and empirical foundations in the field and the most recent best (awarded) papers presented at the high-ranked international conferences.

Organization: Seminar meetings will take place in the last 2-3 weeks of September. Each participant selects one paper (doodle decision on meetings time and papers), have a talk of 30 minutes followed by 10 minutes discussion. After the talk, the presenter has to prepare a short about 10 pages report and hand it in for grading.

Grading: 40% based on the talk, 40% based on the report, 20% based on discussions participation.

Registration: To register for the seminar please use the link to the registration system on the course page. Places in the seminar are limited.

Course website:

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

Places: 12

Neural Networks in AI Planning by Daniel Höller, Dan Fiser

Planning is the sub-area of AI concerned with complex action-choice problems, which occur in a broad range of applications ranging from game playing to smart production. Learning is a natural approach to planning effectively in a given application, and recent results on complex board games (AlphaGo/Zero systems series) has shown the power of this approach. Yet beyond board games this approach is still in its infancy, and strong generalization across structure such as different goals and scaling instance size remains a widely open research problem. The seminar covers works at the current research frontier investgating neural rchitectures in general planning.

Requirements: AI planning side: AI core course minimally, AI Planning course preferred
Neural networks wide: good basic knowledge, ideally at least one lecture relevant to this topic

Places: 12

Parallel Simulations on GPUs by Marcel Köster

The processing/compute capabilities of modern GPUs easily outperform traditional CPU-based processing units. This trend has been evident in recent years and is continuing. In this practical seminar, you will learn the fundamentals of modern GPU programming and how to develop parallel simulations that run in realtime (FPS >= 60) while still being able to process millions of data elements. Furthermore, you will learn that your favorite text book algorithm does not scale on a GPU and needs refinement in order to achieve at least reasonable scaling behavior. Besides paper research and presentations, you will also build a small N-Body gravity simulation designed and optimized for GPUs in small teams.

Seminar website:

Requirements: You should have passed the basic Programming 2 lecture, the Software Praktikum, Concurrent Programming (Nebenläufige Programmierung), and Mathematics for Computer Scientists 1+2 (or Analysis 1 and Lineare Algebra 1).

Places: 16

Physical Computing by Jürgen Steimle, Narges Pourjafarian, Adwait Sharma

An important commonality of today’s cutting-edge user interfaces is that they are much more physical than their predecessors. No matter if we interact using our bodies in Augmented or Virtual Reality, if we use gestures to interact in Smart Rooms or with Internet-of-Things (IoT) devices, or if we communicate using high-tech fashionable Wearables: physicality is key! Instead of using a conventional touch-screen, these interfaces build on the rich capabilities of how we humans interact and communicate.

The goal of this seminar is to acquire basic conceptual and practical skills in developing physical user interfaces. The seminar will cover the following topics:

- Conceptual basics of ubiquitous computing, tangible interaction, embodied interaction
- Basic electronics and microcontroller programming (Arduino)
- Prototyping and digital fabrication (3D printing, milling, and cutting)
- Applied machine learning
- Development of applications based on learned technologies

Seminar website:

Requirements: - This is a Master-level seminar, which can also be taken by Bachelor students from the 5th study semester and above.
- Moderate to high-level programming experience with Python and basic calculus is necessary to complete machine learning related tasks.
- Knowledge in hardware programming (e.g., some experience with Arduino) will help make physical prototypes but is not a hard requirement.

Places: 10

Reinforcement Learning for Education by Adish Singla

The course will provide an overview of the research opportunities and challenges in applying reinforcement learning methods for improving education. The course schedule is as follows:

(1) Writeups: During the semester, each student will be assigned a set of research papers and book chapters to read. Students will have to write a short report for each assignment. These reports will be due during the semester, roughly 3 reports per month.

(2) Presentation: At the end of the semester, students will give a 25 mins presentation.

This course is offered as a block seminar, and there will be no weekly classes. We will schedule designated office hours where students can receive feedback on their reports and presentation slides.

Requirements: There are no formal requirements, however, please note the following points:

(1) Preference will be given to students who have already taken courses covering topics such as machine learning, artificial intelligence, reinforcement learning, and probabilistic graphical models.

(2) We are requesting you to provide a short motivation letter (about 5-10 lines) explaining the reasons why you are interested in taking this seminar. Please also mention the relevant courses that you have taken, including your grades. Please provide this information in the text box below.

Places: 10

Rendering Techniques by Stefan Lemme, Philipp Slusallek

In this seminar we will follow up on some rendering techniques related to rasterization and hardware-accelerated rendering. In CG1 we already touched the inner workings of today’s graphics APIs and hardware briefly. In this seminar students will further investigate specific parts of the rendering pipeline using a rasterization framework in order to implement respective rendering techniques.

Please find more information about the seminar at

Requirements: Basic knowledge in CG1 and/or RIS; Solid programming experience with C/C++; Basic knowledge of graphics APIs (e.g. OpenGL, Vulkan, DirectX, etc.)

Places: 4

Selected Topics in Automated Testing and Debugging by Rahul Gopinath + Rafael Dutra + Andreas Zeller

Wouldn't it be cool if one could leave the task of testing and debugging code to a computer? In this seminar, we will discuss current results and new problems in the domain of _automated testing and debugging_ based on relevant scientific papers. The focus will be on techniques available in the Fuzzing Book ( and the Debugging Book (, as well as recent advances.

The general process will be as follows: Each week, you get 1-2 reading assignments and write an abstract about them. You may also be asked to give an (ungraded) five-minute mini presentation to kick off the discussion and improve your presentation skills. At the end of the seminar, you give a 15-20 minute presentation on one of the techniques, preferably including small experiments or demonstrations on how well they work; these will then be graded.

Requirements: Prior knowledge in automated testing and debugging techniques will be beneficial. For experiments and evaluations, programming knowledge will be helpful, too. The Fuzzing Book and Debugging Book infrastructures are implemented in Python, and we recommend doing experiments and evaluations in Jupyter Notebooks – so don't be afraid of these two.

Places: 10

Selected Topics in Mobile Security by Sven Bugiel

In this seminar, we will discuss current results and new problems in the mobile security domain based on relevant scientific papers. The focus of the selected papers lies on Android, given its high popularity among researchers. The topics include usability aspects of Android's permission system and security-relevant APIs, security extensions at different levels of Android's software stack, app analysis, and newly identified attack vectors.

Requirements: There are no formal pre-requisites beyond a basic knowledge of how computer systems work internally. Participation in the advanced lecture Mobile Security is definitively beneficial and avoids catching up basic concepts of mobile security.

Places: 10

Selected Topics in Specification and Testing by Dominic Steinhöfel + Andreas Zeller

Wouldn't it be cool if one could teach computers to test and validate programs as thorough as never before? In this seminar, we will discuss current results and new problems bringing together the domains of _program specification_ and _automated testing_ based on relevant scientific papers. We will build on some of the techniques available in the Fuzzing Book (, and discuss recent advances.

Requirements: Prior knowledge in formal methods and automated testing will be beneficial. For experiments and evaluations, programming knowledge will be helpful, too. We recommend doing experiments and evaluations in Jupyter Notebooks – so don't be afraid of them.

Places: 10

Systems Benchmarking by Sven Apel, Annabelle Bergum, Thomas Bock, Sebastian Boehm, Christian Hechtl, Christian Kaltenecker, Florian Sattler, Christof Tinnes, Kallistos Weis

Performance is a critical aspect of software in many domains, such as high-performance computing or embedded systems, where resources are limited. When it comes to assessing the performance of software systems, performance engineers face a multitude of problems to solve, some of which are:

* How should we configure the software system to be performance-optimal (compile-time vs. run-time arguments)?
* How should we analyze the software system to understand and predict performance behavior (white-box vs. black-box)?
* How often should performance measurements be run (e.g., with every commit or before a new release)?
* How should we benchmark software systems (hardware, workloads, etc.)?

In this seminar, we address and discuss possible solutions and trade-offs, theoretically, by addressing the state of the art in research and, practically, by planing, preparing, and performing our own performance experiments.

Due to the current situation with SARS-CoV-2, this course will be held online. The topic assignment will take place on Thursday, 15.04.2021, 12:15 PM. Further information will be provided via e-mail after the registration.

Requirements: Basic knowledge on software engineering

Places: 7

Touch & Haptic Interfaces by Jürgen Steimle

Touch interaction has become the predominant way of interaction with modern computing devices. However, the gestures that we routinely use on touchscreens are just the tip of the iceberg: they represent only the beginning of a future that comprises much more advanced touch and haptic interfaces. These interfaces will include rich haptic feedback. They will go beyond simple touch contact and instead leverage on the rich characteristics of how humans touch and manipulate objects. And they will extend beyond the confines of a rigid and rectangular touchscreen and get integrated into clothing, the human body, the physical environment, or a virtual reality experience.

In this seminar, we will cover advanced research topics in the area of touch and haptic interfaces. We will focus on recent research results that were published at top-tier conferences and journals. This comprises research papers from the following areas: Touch sensing, design and detection of touch gestures, rich touch interactions beyond simple touch contact, touch on tiny devices, haptic feedback, haptics in AR and VR, touch on the body, social touch, touch on interactive textiles, touch interaction with robots.

Seminar website:

Requirements: This seminar is aimed at graduate students in computer science, media informatics, embedded systems or DSAI. You should have taken the lecture Human-Computer Interaction or Interactive Systems (or a similar lecture at another university).

Places: 10

Trusted and Secure Computing by Sven Bugiel, Michael Schwarz, Dhiman Chakraborty

In this seminar, the participants will discuss and evaluate state-of-the-art research solutions in the domain of secure, trusted, and trustworthy computing, both from the constructive as well as from the offensive perspective. The focus is particularly on hardware-based security architectures that are nowadays becoming omnipresent in different settings like server, cloud, or embedded device security. Examples of such hardware security primitives are Trusted Platform Modules, Intel SGX, RISC-V Keystone, or ARM TrustZone.

Requirements: There are no formal prerequisites beyond a basic knowledge of how computer systems work internally. Some of the seminar papers will talk about a certain hardware configuration. But no formal background in hardware design is required. However, participants are expected to carefully read the background sections of the discussed papers to understand the topic.
Previous participation in “Side-Channel Attacks and Defences” ( by Dr. Michael Schwarz can be helpful to understand the topics easily.

Places: 10