Institute for Algorithms and Complexity (E-11)
Institute for Algorithms and Complexity (E-11)

back to list of all courses ​​​​​​​

Core course: Algorithms and data structures

This course is taught in English. This course is regularly offered every winter semester.

This course was previously offered in the winter terms 20/21 and 21/22.

Link to official course page


This course provides an introduction to mathematical modeling of computational problems. It covers the common algorithms, algorithmic paradigms, and data structures used to solve these problems. The course emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.

ECTS-Points: 6

Learning goals

In this course you will learn

  • to measure and compare the efficiency of algorithms,
  • to implement fundamental algorithms and data structures in Java,
  • to design your own algorithms and data structures,
  • and to prove their correctness and efficiency.


Weekly lectures (online) and weekly exercise session.

Lectures take place on Wednesday, 9:45 - 13:00, in the Audimax II.

There are six group exercise classes:

  • Mo, 11:30 - 13:00, Room H - 0.08 (Group 4)
  • Mo, 16:45 - 18:15, Room O - 0.018 (Group 2)
  • Tu, 11:30 - 13:00, Room D - 1.021 (Group 3)
  • We, 8:00 - 9:30, Room H - 0.03 (Group 6)
  • Thu, 11:30 - 13:00, Room H - 0.03 (Group 1)
  • Fri, 8:00 - 9:30, Room H - 0.03 (Group 5)

Recommended literature:

  • T. H. Cormen, C. E. Leiserson, R. Rivest and C. Stein: An Introduction to Algorithms. MIT Press, 3rd edition, 2009.
  • T. H. Cormen, C. E. Leiserson, R. Rivest and C. Stein: Algorithmen — eine Einführung. Oldenbourg Wissenschaftsverlag, 3. Auflage, 2010.
  • M. T. Goodrich and R. Tamassia: Data Structures and Algorithms in Java. Wiley, 5th edition, 2010.
  • K. Mehlhorn and P. Sanders: Algorithms and Data Structures: The Basic Toolbox. Springer, 2008.