Skip to main content Link Search Menu Expand Document (external link)

Table of contents

Teaching

List of Courses

Teaching (Independent)

List of courses where I was independently responsible for the scope of the course, developing the course material, and conducting the lecture/exercises (German: Lehrauftrag). For these courses, more information is provided, e.g., slides, projects, etc. This information is in German, as the courses are all taught in German.

2024/25 (winter term)

2024 (summer term)

2023/24 (winter term)

2023 (summer term)

2022/23 (winter term)

2022 (summer term)

2021/22 (winter term)

2020/21 (winter term)

Teaching (Assisting)

List of courses where I supported the lecture by giving exercises, creating exercises, supervising students in seminars, etc.

2020 (summer term)

  • Introduction to Theoretical Computer Science (Exercises, Help Desk, Bachelor)
    Below, you can find videos I created for this course:

2019 (summer term)

  • Advanced Data Structures (Seminar, Master)
  • Parallel Algorithms (Proseminar, Bachelor)

2018/19 (winter term)

  • SACABench (Project Group 616, Master)

2018 (summer term)

  • SACABench (Project Group 616, Master)
  • Advanced Data Structures (Seminar, Master)

2017 (summer term)

  • Advanced Data Structures (Seminar, Master)

2015/16 (winter term)

  • SciencePlag (Project Group 558, Master)
  • Geometric Algorithms (Proseminar, Bachelor)

2015 (summer term)

  • SciencePlag (Project Group 558, Master)

2014/15 (winter term)

  • Mathematics for Computer Science 1 (Exercises, Bachelor)
  • String Algorithms (Proseminar, Bachelor)

2014 (summer term)

  • Mathematics for Computer Science 2 (Exercises, Bachelor)

Theses

I supervised the following students. Supervision includes a weekly meeting where students have time to ask questions, discuss ideas, and present preliminary results. If you are interested in writing a thesis, you can find a list of possible topics below.

Possible Topics for Theses

Supervised Master’s Theses

Karlsruhe Institute of Technology

  • Etienne Palanga: A Scalable Approach to the Parallel Construction of Block Trees
  • Jan-Benedikt Schwarz: Engineering Succinct Predecessor Data Structures
  • Frank Thiemike: Implementation of a Universal Compressed
  • Dominik Bez: Perfect Hash Function Generation on the GPU with RecSplit
  • Daniel Meyer: Engineering Block Tree Construction
  • Dominik Bez: Perfect Hash Function Generation on the GPU
  • Marcel Hollerbach: Parallele and Vectorized Wavelet Tree Construction (pdf and topic)

TU Dortmund

  • Alexander Herlez: Distributed Text Indexing with Batched Queries
  • Johannes Neumann: Implementierung und Optimierung von Y-Fast-Tries
  • Sven Brümmer: Practical Parallel Max-Cut Algorithms
  • Jonas Ellert: Efficient Computation of Nearest Smaller Suffixes
  • Christopher Osthues: LCEs mit Recompression
  • Patrick Dinklage: Verteilte parallele Konstruktion von Wavelet-Trees
  • Uwe Jentsch: Suffixsortierung mit integrierter LCP-Berechnung

Supervised Bachelor’s Theses

TU Dortmund

  • Mathieu Herkersdorf: Parallele Konstruktion von Rank- und Select-Datenstrukturen im Shared Memory
  • Alexander Herlez: Implementierung und Auswertung einer Datenstruktur für LCEs
  • Tim Schonscheck: Textkompression mithilfe eines sparse Suffix Arrays
  • Lucas Weiße: Aufbau eines Clusters mithilfe von Raspberry Pis
  • Jan Laumeyer: Effiziente Beantwortung von PSV-Anfragen
  • Jan Henrik Wienbrack: Verteilte Textkompression mit Hilfe des LCP-Arrays
  • Benedikt Oesing: Effiziente Erstellung von Waveletmatrizen
  • Patrick Nowak: Praktische Evaluation einer LZ77-Approximation
  • Maximilian Schwarzbach: Visuelle Programmierung - Der Versuch einer Begriffsdefinition