Proseminar Assignment Winter 2020/2021

The central registration for all computer science proseminars will open on September 22nd.

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 26th 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 30th.

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


Because of the Covid-19 situation, this proseminar will be organized via a visioconference system.

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

Cyber-Physical Systems Security by Hamid Reza Ghaeini

There exist a multitude of cyber-physical system devices and applications deployed to serve critical roles, thus making security a crucial non-functional attribute of such systems. This proseminar is meant to provide students with an overview of recent advances in cyber-physical systems security.

We begin the proseminar in the kick-off day by assigning the papers to the students and providing some backgrounds about the proseminar. There will be two rounds of the presentations. In the first round, the students will present a classic paper in the field of cyber-physical systems security. At the end of each presentation, the audience will provide some insights to improve the presentation.

The students will present a state-of-the-art paper in the second round, in which the primary evaluation of the student’s performance will take place. We will encourage the students to prepare the slides in advance and discuss the slides with the advisor. It is helpful to arrange a dry-run of presentation to maintain the high quality of presentation.

With the current COVID-19 pandemic, the courses will take place online.

Requirements: Prior knowledge in information security.

Places: 10

Microarchitectural Attacks and Defenses by Jan Reineke

Spectre, Meltdown, and other microarchitectural attacks have been in the limelight in recent years. These attacks exploit subtle timing and behavioral differences of processors that are caused by microarchitectural optimizations such as caches and speculative execution to gain access to secret information.

In this seminar, we are going to study
- prominent microarchitectural attacks,
- hardware-based countermeasures,
- software-based countermeasures, and
- formal methods to characterize vulnerabilities and to rigorously analyze hardware- and software-based countermeasures,
with a focus on speculative-execution attacks.

Due to COVID-19, the seminar will be conducted virtually, with a possibility to move to a hybrid setting during the semester. If that is the case, it will still be possible to attend the seminar virtually.

Each participant will give a presentation of an assigned paper, followed by a group discussion. All students are expected to read each paper carefully and to actively participate in the discussions. Each student will write a summary of the paper they have presented, including a general overview of the topic and reflecting the group discussion.

[This is a combined proseminar and seminar with a total of 12 seats.]

Requirements: Basic knowledge of computer architecture (e.g. due to Systemarchitektur) is required. Knowledge of security and formal methods is a plus.

Places: 4

Model Checking: Techniques and Applications by Swen Jacobs

This Proseminar is concerned with model checking, a fully automatic approach for the verification of hardware, software, and computer-controlled systems. Students will learn about the basics of model checking, as well as some advanced techniques and specific applications of the approach. The structure will be such that a couple of basic topics are pre-selected and will definitely be covered, and the advanced topics will be chosen according to the interest of the participants.

During this class, students will learn how to read scientific texts and how to give a scientific presentation. Students will read up on a topic, summarize it, and teach the findings to their fellows in a presentation. After a practice run, students are asked to give feedback, enabling a process of improvement for the final presentation.

Talks: We expect you to give two talks on the topics you have been assigned, an ungraded practice talk to provide feedback about the quality of your work so far, and a graded final talk. Talks will most probably be only virtual, via Zoom.

Feedback and Discussion: Attendance to all talks is mandatory. We expect you to provide feedback to your fellow students after the practice talks, and participate in discussions after the final talks.

Summary: At the end of the semester, we expect you to submit a short summary of your paper.

Requirements: We expect you to understand basic mathematical notation and have the ability to think about abstract concepts. We will provide all further background knowledge.

Places: 12

Practical Foundations for Programming Languages by Julian Rosemann, Matthis Kruse, Sebastian Hack

In this proseminar, we cover the theoretical foundations of programming languages based on the textbook "Practical Foundations for Programming Languages" by Robert Harper.

In the first part of the proseminar, we will look into calculi and type systems that are the basis for programming languages research and are at the core of many modern programming languages. Among the topics are: lambda calculus, PCF, System F, recursive types, subtyping, type classes, etc.

In the second part of the proseminar, we look at concrete programming languages and explore how these foundations are realized in these languages.

If you liked the programming-language theoretical parts of Programming 1/2 and if you want to know more about how programming languages work, this is your proseminar.

Requirements: A very good understanding of and affection for the more theoretical parts Programming 1 and 2. Having passed Programming 1 and 2 is required.

Places: 10

Recent Topics in Virtual Reality and 3D User Interfaces by Florian Daiber, Felix Kosmalla, Martin Feick

In den letzten Jahren erlebten VR-Technologien eine rasante Entwicklung und inzwischen sind sogar für den Endkunden bezahlbare VR-Technologien (VR-Headsets, Input Devices, etc.) verfügbar. Dadurch eröffnen sich auch im Bereich Mensch-Computer Interaktion (Human-Computer Interaction) viele neue (und alte) spannende Forschungsfragen, wie Nutzer mit diesen Technologien interagieren.

In diesem Proseminar widmen wir uns aktuellen Forschungsthemen aus dem Bereich Human-Computer Interaction in VR. Ziel des Proseminars ist zum einen die Einarbeitung und Präsentation eines wissenschaftlichen Themas. Da das Seminar als Remote Veranstaltung durchgeführt wird, wird die Präsentation allerdings nicht klassisch als (Live-)Vortrag präsentiert, sondern in Form eines eigens produzierten Videos und interaktiver Q&A-Session.

Weitere Infos finden sich auf der Seminarseite:

Requirements: - Grundlagen der Medieninformatik
- Interest in video and / or audio production

Places: 9

Software Engineering at Google, Microsoft, Facebook and Co. by Sven Apel, Thomas Bock, Sebastian Boehm, Christian Kaltenecker, Florian Sattler

With the rising size and complexity of software projects, good engineering practices become more and more important, especially for major tech companies such as Google, Microsoft, Facebook, and co. In this seminar, we discuss different topics from software engineering, viewed from the perspective of big tech companies, and we relate them to current research topics and open research problems.

We focus on topics like:
* How to work well in developer teams
* How manual techniques such as code review shape software development
* Handling testing and infrastructure at a large scale
* How tools can help in making software engineering at a large scale better manageable with automation
* Running continuous integration and delivery with millions of customers

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

Requirements: Basic knowledge on software engineering

Places: 7

User Studies in IT Security by Katharina Krombholz

The goal of this proseminar is to understand how user studies are used in IT security research. You will learn which types of research questions can be answered with user studies, and how to read and interpret them. You will also learn to identify good and bad studies and how to draw conclusions based on empirical data.

Requirements: Cybersecurity I, Statistics

Places: 10