This course is about modern topics of advanced programming and algorithms.

Learning outcomes

After passing this course successfully students are able to ...
  • use the O-Notation, compare efficiency of algorithms and programs
  • implement algorithms in the field of computational geometry, e.g. convex hull
  • know how to create and use spatial data structures and visualize different algorithms
  • learn modern C++ (lambda, monad)
  • know how to create parallel programs in MPIch
  • create parallel algorithms in the field of graph algorithms like Distributed Breath-First Search or MST