Algorithmic Problem Solving, 7.5 Credits
About the course
The course treats problem solving with algorithmic methods. It highlights the whole process of problem solving, which consists in
- formalization of a concrete computational problem,
- structured analysis of the problem,
- choice of solution method, based on a toolbox of algorithmic methods and advanced data structures,
- implementation of the solution in a suitable programming language, and
- evaluation of the results.
Typical algorithmic methods that can be treated during the course include dynamic programming, greedy algorithms, linear programming, parallelization, randomization, and approximation. Typical data structures that are treated include Fibonacci heaps, B-trees, binary decision diagrams, and hash tables.
Level of Education: Advanced