Algorithmic Techniques for Modern Data Models
Overall Course Objectives
To know, apply, analyze, and design algorithms in modern data models:
· Probabilistic, time-dependent and approximate summary techniques, such as algorithms in the online, dynamic, or streaming model of computation, algorithms for data sketching, and data sampling algorithms.
· Distributed and massively parallel computation techniques, such as algorithms in MapReduce, BSP, and multicore models, and algorithms for communication models.
· Compressed computation techniques, such as approximate nearest neighbors in high-dimensional spaces, clustering algorithms, and compressed indexing and searching.
See course description in Danish
Learning Objectives
- Describe an algorithm or a data structure in a comprehensible manner, i.e., accurately, concise, and unambiguous.
- Prove correctness of algorithms and data structures in different data models, such as the streaming and parallel models.
- Analyze, evaluate, and compare the performance of algorithms and data structures in different data models, such as the streaming, parallel, and external memory models.
- Analyse, evaluate, and compare the suitability of different data models in a given setting.
- Apply and extend relevant algorithmic techniques (e.g. sketching, map-reduce, compressed computation) in modern data models.
- Design algorithms that solve a given problem in a given modern data model.
- Systematically identify and analyse problems and make informed choices for solving the problems based on the analysis.
- Argue clearly for the choices made when solving a problem.
- Express oneself in writing at a scientific level.
Course Content
State-of-the-art algorithmic techniques for modern data models, such as probabilistic, time-dependent and approximate summary techniques, distributed and massively parallel computation techniques, and compressed computation techniques.
Teaching Method
Lectures and exercises.