Teaching

Our teaching activities include a range of courses and seminars, starting with basic bachelor courses on theoretical computer science and continuing with special lectures on advanced algorithmics and computational social choice in the master's program. Our seminars and projects cover a variety of topics, including those from both the bachelor and master's courses, as well as specific topics such as "computing games" where we discuss computation aspects of (e.g. computer or board) games. We also offer opportunities for students to do their projects, in particular in preparation for writing their thesis with us.

Information about old courses can be found here. Below, you see what we offer this term.

If you are interested in a thesis topic provided by us, have a look at our project and thesis information page.

Current Courses

  • Lecture: Computational Social Choice (Master)

    The course addresses problems at the interface of economics, social choice theory, and computer science. The focus is on processes of algorithmic decision making, such as voting rules or fair division. We discuss fundamental concepts from collective decision making and related topics and investigate algorithmic and computational aspects.

    Specific topics include:

    • aggregating preferences (rank aggregation) and voting,
    • algorithmic game theory,
    • cake cutting protocols,
    • fair allocation of resources,
    • judgment aggregation,
    • opinion diffusion, and
    • stable matching.
  • Algorithm Seminar 1: Exact and Parameterized Algorithms

    Algorithm Seminar 1: Proseminar, Hauptseminar (WS 2024/25)

    Exact algorithms are designed to find the optimal solution for problems, offering precise answers rather than approximations. These algorithms are crucial for solving complex computational problems where accuracy is essential, though they often come with high computational costs, especially for NP-hard problems. In contrast, parameterized algorithms focus on efficiency by leveraging specific problem parameters. These algorithms have garnered significant attention from both mathematicians and computer scientists and are widely used in practice to provide effective solutions across various fields. While exact algorithms strive for precise solutions, parameterized algorithms aim to improve efficiency, often complementing each other in the study of computational complexity.

    In this seminar, we will explore the ideas and tools of parameterized algorithms, such as Fixed-Parameter Tractability (FPT), kernelization, parameterized reductions, graph decomposition, and matroid theory. Additionally, we will discuss parameterized algorithms in connection with their complexity analysis. Students must choose their own topic and conduct research on it. A list of books and papers will be provided to help students select a suitable topic. The tutors will review progress and provide assistance during the semester.