Seminar Assignment Summer 2020

The central registration for all computer science seminars will open on April 7th.

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 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 24th.

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 24th. 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.


Advanced Fuzzing Techniques by Andreas Zeller + Rahul Gopinath

In this seminar, we explore and evaluate automated test generation techniques (fuzzers) and related techniques for their effectiveness and efficiency. We discuss and design evaluation criteria and apply them on a number of techniques from the "Fuzzing Book" ( Apart from reporting and presenting your results in the seminar, your evaluation results will be included in the book. If the results or techniques are novel (many of them are), we will also strive to publish them as a scientific paper, with you as co-author.

Group phase:

* Introduction to empirical techniques (all)

* Designing benchmarks (all)

* Defining common evaluation questions (all)

* Presenting empirical results (all)

Individual phase:

* Selecting an individual fuzzing technique for evaluation

* Defining individual evaluation questions and parameters

* Conducting the evaluation

* Producing an evaluation report

* Presenting and discussing evaluation results

The fuzzers are implemented in Python and come as Jupyter Notebooks. You will also use Jupyter Notebooks for conducting the evaluation and presenting the final results, both as report and as presentation.
For details on this seminar, see

Requirements: You should have passed the lecture "Generating Software Tests" or have sufficient knowledge from the course. Knowledge of Python and experience with Jupyter Notebooks is helpful, but can be acquired during the seminar.

Places: 8

Advanced Topics in Approximation Algorithms by Tobias Mömke

Given an NP-hard optimization problem, we cannot guarantee to find an optimal solution efficiently. At the same time, many practically relevant problems are NP-hard. What is the shortest way to deliver parcels to customers? Which tasks should be scheduled on a satellite with limited power resources in order to maximize the number of tasks executed?

In approximation algorithms we determine the amount of deviation from optimality needed in order to ensure polynomial time (i.e., efficient) computations. It is exciting and challenging to understand the approximability of fundamental optimization problems. In this seminar we will be concerned with up-to-date research topics in the field of approximation algorithms.

More specifically, the seminar will focus on the use of linear programming in the context of approximation algorithms. We will cover topics including primal-dual algorithms, randomized rounding, and iterated linear programming.

Seminar website:

Requirements: Students should have attended the core course "Optimization" or have acquired comparable basic knowledge about linear optimization.

Places: 8

Advanced Topics in Cloud and Datacenter Systems by Jonathan Mace

How do systems like Google and Facebook actually work? What does it take to build a planet-scale system? What can we do today using cloud computing that wasn't possible a decade ago?

In this course we will look at the research behind modern cloud and datacenter systems. We will read recent research papers in operating systems, computer networks, and distributed systems. We will look at modern application trends including big data analytics, microservices, serverless architectures, and machine learning. Along the way we will learn how to design, implement, and evaluate robust, effective, and efficient systems. In addition to learning about cutting-edge systems research, students will get their feet wet with a semester-long research project.

Course website:

Requirements: The course is intended for Masters and Ph.D. students in Computer Science, but enterprising Bachelors students are also welcome to participate.

There are no formal prerequisites beyond knowledge of how computer systems (operating systems, databases, networks, distributed systems) work internally.

To register for the seminar you must apply by e-mailing the instructor (Jonathan Mace), explaining why you wish to take the seminar and what your background in computer systems is. Places in the seminar are limited. If you wish to take the seminar without credit, please say so in your e-mail.

Half of the grade for the class comes from a semester-long project, so programming proficiency and self-directedness are a must.

Places: 7

Brain-Computer Interaction by Maurice Rekrut, Mansi Sharma, Matthias Schmitt

Brain-Computer Interfaces (BCI) have been a widely researched topic for the last 20 years. BCIs make use of brain activity to create controls for computers or machines in general. The most common approach to establish such a connection between computer and brain is to measure the electrical activity of the brain at the scalp surface, via Electroencephalography (EEG). Those EEG devices are non-invasive, comparably cheap and can nowadays even be used with dry electrode caps, which makes them easy to setup. Within this seminar you will learn about different techniques and types of BCIs and develop your own Brain-Computer Interface with a dry electrode EEG-headset in a group project.

The seminar consists of 3 stages. In the first stage you will choose a topic/task from a list we will provide. You will receive basic literature regarding this topic, perform a literature research on the state-of-the-art in this field and write a summary about it. In a second step you will create a concept and implementation plan to solve the given task, based on state-of-the-art methods. This plan will be presented to the seminar participants and tutors in a 20 minute presentation and should include the most relevant studies, what impact they have on your work and finally your implementation plan. In the third stage you will implement the BCI-application with your group and at the end of the seminar give a short demonstration of your work.

Requirements: Basic knowledge in machine learning, Python and maybe even biosignal processing.

Places: 12

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, computational photography and videography, deep learning for computer vision and computer graphics, multimodal video processing, hands, body and faces: a computer perspective.

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

Places: 10

Data-driven Approaches on Understanding Disinformation 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: 12

Digitalisierung und Datenschutz by Jochen Krüger, Christoph Sorge

Es handelt sich um ein interdisziplinäres Seminar für Juristen und Informatiker. Aufgabe der Teilnehmer ist es, eine Seminararbeit zu einem ausgewählten Thema zu verfassen und diese in einem Vortrag vorzustellen. Der Vortrag fließt neben der Seminararbeit in die Gesamtnote ein.

Weitere Informationen sowie Themenvorschläge finden Sie auf der Webseite des Lehrstuhls unter

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

Places: 7

How to Build a Social Computer by Patrick Gebhard, Tanja Schneeberger, Dimitra Tsovaltzi, Fabrizio Nunnari

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 humans do and adapt to the individual social situation 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 a proof of concept. Students of Psychology and Computer Science will work together, designing, discussing, implementing, and creating an evaluation plan for each application.

Requirements: 1. Possibility to communicate mainly in German, but also English , 2. Willingness to work in interdisciplinary teams (Computer Science and Psychology)

Knowledge in at least one of the areas of AI, Affective|Social Computing, HCI

Places: 9

Hybrid Learning and Reasoning by Matthias Klusch, Andreas Nonnengart

This seminar is concerned with selected hybrid intelligent systems that combine techniques from machine learning with symbolic techniques from knowledge representation and reasoning. Both types of AI techniques have their strengths and limitations. While deep learning systems have been quite successfully applied to, for example, pattern recognition, image interpretation, speech recognition and translation, they can be characterized as overly data hungry, susceptible to adversarial attacks, opaque (non-interpretable by humans), and not informed by general principles such as causality or commonsense and domain knowledge. The successes of symbolic reasoning techniques (“good old fashioned AI”) are in such applications as automated (human-understandable, traceable) planning, diagnosis, design tasks, and question answering by cognitive virtual assistants but are often quite limited by the need of expensive, explicit knowledge acquisition and modelling, inefficient logic-based reasoning, and instability in the presence of noisy data. There is a consensus in the AI community that symbiotic, profound integration or combination of machine learning and reasoning is essential for human-level AI in general.

In this seminar, we will take a closer look at selected techniques and systems for hybrid learning and reasoning, and discuss their strengths and weaknesses. The seminar type is classic in the sense that registered participants will present assigned topics, and discuss the strength and weaknesses of presented approaches. In addition, there will be two dedicated opponents for each presentation of an assigned topic.

Seminar website:

Due to the Corona-crisis, the summer semester has been shortened and starts on May 4, 2020. Therefore the capacity of the seminar is reduced to 6 places.

The first seminar session (kick-off / introduction meeting) with topic assignment will be held on Tuesday, MAY 5, 2020, 16:15 at DFKI (campus building D3.2) in room “Turing 2” (+2.31).

The following seminar sessions are hold on Thursdays from 16:15 - 18:00.

Requirements: This seminar aims primarily at advanced master students in Computer Science who preferably hold a B.Sc. degree in this or related field. Good knowledge in AI (introductory course on AI covering symbolic knowledge representation, machine or deep learning, automated reasoning) is required.

Places: 6

Legal Tech und eJustice by Jochen Krüger, Christoph Sorge

Legal Tech bezeichnet den Einsatz von Informationstechnik im juristischen Bereich. Insbesondere geht es um die Nutzung neuer Technologien sowie künstlicher Intelligenz durch die Rechtsanwaltschaft und neuerdings auch durch die Gerichte.

Es handelt sich um ein interdisziplinäres Seminar für Juristen und Informatiker. Aufgabe der Teilnehmer ist es, eine Seminararbeit zu einem ausgewählten Thema zu verfassen und diese in einem Vortrag vorzustellen. Der Vortrag fließt neben der Seminararbeit in die Gesamtnote ein.

Weitere Informationen sowie Themenvorschläge finden Sie auf der Webseite des Lehrstuhls unter

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

Places: 7

Machine Learning and Formal Methods by Maria Christakis, Adish Singla

The course will cover the state of the art research in machine learning and formal methods, including the following three topics: (i) formal methods for trustworthy machine learning, (ii) machine learning for program analysis, and (iii) program synthesis.

The course schedule is as follows:

(1) Writeups: Each student will be assigned a total of 6 research papers (2 papers per topic). Students will have to write a short report for each paper. These reports will be due during the semester, roughly 2 reports per month.

(2) Presentation: At the end of the semester, students will give a 20 mins presentation for one of the papers.

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, programming languages, software testing, software engineering, and program analysis.

(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 and additionally send this information via an email to Dr. Adish Singla (

Places: 10

Machine Learning for Harvesting Health Knowledge (Block Seminar) by Erisa Terolli, Patrick Ernst, Andrew Yates

Health-care has turned into a big data-driven domain, which produces a multitude of data, such as structured data in the form of clinical health records, free text in form of case studies and clinical trials, or colloquial discussions shared via social media outlets or patient forums. While this data overload can be a challenge for patients and caretakers, it also enables Machine Learning (ML) approaches to deliver new insights and open new application opportunities. For instance, it enables physicians to retrieve relevant information about disease outbreaks, viruses, etc substantially faster or it facilitates the discovery of phenotype-specific relationships between diseases and drugs to develop personalized medicine. This block seminar covers a range of topics, showcasing the application of ML to such use cases. Some relevant topics include: Information Retrieval & Extraction, Conversational Health AI, Health Data Science etc.


Requirements: There are no formal prerequisites for this seminar. Despite this fact, basic knowledge in Machine Learning and Information Retrieval are preferred.

Places: 9

Machine Learning for Natural Language Processing (Block Seminar Fall 2020) by Dietrich Klakow

Deep learning is the predominant machine learning paradigm in natural language processing (NLP). This approach not only gave huge performance improvements across a large variety of natural language processing tasks. It also allowed for a much easier integration of real world knowledge and visual information into NLP systems. However, a big problem of deep learning is the need for massive amounts of training data. Therefore in some of the topics you have to look into methods that can cope with this issue, e.g. by automatically creating noisy training data. Other topics to be covered are machine learning for joint processing of visual and text data.

Places: 8

Multimodal Dialogue Systems (Block Seminar Fall 2020) 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.

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: 10

Neural-Symbolic Computing by Bernd Finkbeiner, Christopher Hahn, Jesko Hecking-Harbusch, Niklas Metzger, Frederik Schmitt

The way our brain forms thoughts can be classified into two categories (according to Kahneman in his book “Thinking Fast and Slow”):

System 1: fast, automatic, frequent, stereotypic, unconscious.
- Is this a cat or a dog?
- What does this sentence mean in English?

System 2: slow, effortful, logical, conscious.
- 17*16 = ?
- If a -> b does b -> a?

The traditional view is that deep learning is limited to System 1 type of reasoning. Mostly because of the perception that deep neural networks are unable to solve complex logical reasoning tasks reliably. Historically, applications of machine learning were thus often restricted to sub-problems within larger logical frameworks, such as resolving heuristics in solvers.
In this seminar, we will explore new research that shows that deep neural networks are, in fact, able to reason on “symbolic systems”, i.e., systems that are built with symbols like programming languages or formal logics.

Example Topics:
- What is a neural Turing machine?
- Can a deep neural network solve complex equations better than Wolfram Alpha?
- Why is “Attention” all we need?

Seminar website:

Requirements: Participants should have strong interest in machine learning and/or logical reasoning. There is, however, no formal prerequisite.

Places: 12

Reading Group Algorithms by Karl Bringmann and Bhaskar Ray Chaudhury

We will read recent papers in theoretical computer science. The paper may be less recent if there is interesting follow-up work. In each session we have a regular presentation (40-60 minutes + discussion) of one paper. The reading group is open for all interested students and postdocs. Students aiming to get credit points must give a regular talk and write a short summary about the paper.

For more details see

Requirements: You should bring a solid background in algorithms and data structures, as well as a passion for theoretical computer science.

Places: 8

Refinement in program verification, compiler construction and cryptography by Robert Künnemann and Hamed Nemati

One of the major challenges within computer security is how to develop system software like operating system kernels, hypervisors, and microkernels that are secure, and preferably provably so, but at the same time capable of fully exploiting the performance capabilities of modern hardware. Over the last decades, formal verification has emerged as a powerful tool to provide enhanced trustworthiness to such low-level systems. Formal verification provides strong guarantees backed by mathematical proofs that all behaviors of a system meet some logical specification.

In this course, we consider the verification of system software including their modelling on different levels of abstraction and the specification of properties that are to be verified. The goal of the course is to help students to understand
challenges involved in verifying low-level systems and familiarize them with fundamental concepts and advanced formal developments used for the verification of large-scale system softwares.

Requirements: Students are required to have a basic understanding of the formal methods and verification techniques, either from attending a university course, or self-taught.

Places: 15

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: 12

Software Engineering 2.0: AI for SE by Sven Apel, Thomas Bock, Sebastian Boehm, Christian Kaltenecker, Florian Sattler

Artificial intelligence has gained momentum in software engineering.
In the past, AI has already shown to increase effectiveness and efficiency when appplying AI on various software engineering tasks.
The current state of AI could herald the start of a new era of "programming 2.0" where code is mainly written, tested, and maintained by AI systems.
Even better, AI affects the way software engineers plan, develop, acquire, deploy, test, and verify software.
Still, machine learning comes with its very own difficulties and pitfalls, so care has to be taken when applying several AI approaches solely "out of the box" on software engineering tasks.

In this course, we address and discuss past, recent, and future advancements through AI in the area of software engineering.

Kick-off and topic assignment will take place on May 7 at 12:15 in E1 1 Room 206.
Please note that the schedule can still change due to the current situation with the SARS-CoV-2 virus.

Requirements: Basic knowledge on software engineering and programming.

Places: 7