Data Structures and Algorithms

The course provides the foundations for the design and analysis of algorithms.
Classic problems ranging from sorting up to problems on graphs are used to discuss common data structures, algorithms and algorithm design paradigms.
The course also comprises an introduction to parallel and concurrent programming and the programming model of C++ is discussed in some depth.