Learning Outcomes
Students who have completed this module can design and analyze algorithms for combinatorial data science problems.
When facing a concrete computational problem, they are able to choose a strategy to efficiently solve the problem within provable performance guarantees.
This includes strategies for solving problems that are computationally hard in the worst case.
In particular, the students know about algorithmic research topics in discrete data science.
Content
Algorithm design and analysis for the classical computation model as well as alternative models of computation. The various models (including RAM, memory hierarchy, online, streaming, etc.) are employed in several fundamental problem domains.
These domains include:
- Network analysis,
- Sequence analysis, and
- Matrix analysis.
Description of Teaching and Learning Methods
The course consists of roughly 3/4 lecture and 1/4 tutorial parts; in the tutorials concrete problems are solved together.