Theoretical Computer Science & Discrete Mathematics


We offer a variety of different courses in the field of Theoretical Computer Science and Discrete Mathematics.

Teaching programme

We have three courses that are regularly taught, each of them offers two lectures and one exercise class per week (hence you receive eight credit points for these courses).


  • Introduction to Theoretical Computer Science: This course is a mandatory bachelor course for our Computer Science degree; students from other degrees are also welcome and can use this course as one of their selective courses. In this course we give a solid introduction to Theoretical Computer Science; this includes, Turing machines (this is a way to define rigorously what algorithms are able to compute), finite automata, formal languages, and complexity theory. This course is offered every summer semester.
  • Discrete Structures I: This course provides thorough introduction to discrete structures and serves as the foundation for the research topics investigated by our research group. We systematically investigate discrete structures (in particular graphs) which are ubiquitous in computer science, mathematics and in applications. We explore connections to applications in computer science and other areas as geometry and probability theory. This course is a bachelor course in both mathematics and computer science. This course is offered every winter semester.
  • Discrete Structures II: In this course we consider more advanced aspects of discrete objects. In particular, we consider the probabilistic method, graph regularity and expander graphs. All three topics are very influential methods which revolutionized their area; leading experts in these fields were awarded with the most prestigious prize in mathematics, the Abel prize. It is recommended that students first attend Discrete Structure I before attending this course. Discrete Structures II is offered every summer semester.


We frequently offer seminars with changing topics. In these seminars we deepen our knowledge on a more specialised topic. Gaining experience in presenting a scientific topic on your own is an important learning goal in our seminars. In addition, you learn to prioritise your time and make your own decisions on the content of you talk.

Summer semester 2023

  • Introduction to Theoretical Computer Science (Joos/Kühn): Please register in moodle and muesli for this course.
  • Discrete Structures II (Elm): Please register in moodle for this course.
  • Randomised Algorithms (Merkle)

Bachelor and Master Theses

Juniorprofessor Joos and Dr Merkle offer numerous different topics for your potential thesis. Please get in touch via email. In most cases we require that you attended at least one course or seminar offered by our research group.

Last update on Apr 4, 2023 at 09:04 UTC
color-mode icon
home icon