The following courses are taught by members of the ALGO cluster in the academic year 2026-2027. (For previous years, see this page.)
2IBA10 Algorithmic Aspects of Game Theory2IHA10 Formal Algorithm Analysis for PremasterIn this course, you will develop basic skills and knowledge to create and reason about efficient algorithms to solve computational problems. To be able to reason about algorithms efficiently we first consider the structure and textual form of formal proofs. We then explore different basic algorithms and data structures for frequently appearing problems, using the proving techniques learned to show their correctness. We consider basic algorithm design techniques, correctness analysis, and efficiency analysis of algorithms.
2IMA10 Advanced Algorithms2IMA25 Exact Algorithms for NP-hard Problems2IMA50 Algorithms for Collective Decision Making2IRR60 Capstone Heuristic Algorithms2IBA00 Algorithms EngineeringThe field of "algorithms engineering" considers how to implement algorithms and data structures effectively in practice, how to experimentally investigate their performance, and how this performance is influenced by modern computer architectures. In this course you will learn the principles of how to implement algorithms and data structures without significant performance defects.
2IBA20 Algorithmic Aspects of Game Theory2IMA15 Geometric AlgorithmsIn many areas of computer science such as robotics, computer graphics, virtual reality, and geographic information systems, it is necessary to store, analyze, and create or manipulate spatial data. This course deals with the algorithmic aspects of these tasks: we study techniques and concepts needed for the design and analysis of geometric algorithms and data structures. Each technique and concept will be illustrated on the basis of a problem arising in one of the application areas mentioned above.
2IMA35 Massively Parallel Algorithms2IT80 Discrete StructuresIn this course we will cover basic discrete mathematical structures that occur in many contexts in computer science. You will learn the basic skills and knowledge to formally reason about these structures. Among others we will cover relations and ordering, counting arguments, and graphs and trees.
2IL50 Data StructuresThere are many aspects to the study of data structures, and the algorithms that operate upon them. In this course, you will learn the basic skills and knowledge to develop efficient algorithms to solve computational problems and to make informed choices between different solutions for the same problem.
2ILC0 Algorithms2IMA20 Algorithms for GeovisualizationA significant part of today's data is geographic, has a geographic component (is geo-referenced), or benefits from geographic interpretation. To analyze these data requires advanced algorithmic tools. This course takes a data-driven perspective on algorithm design for geographic data.
2IMA00 Seminar Algorithms2IMA45 Computational TopologyJBI045 Algorithmic Aspects of Data AnalysisThis course teaches students how data analysis problems can be formulated in precise mathematical terms, how to apply algorithmic techniques to solve the resulting optimization or decision problems, and how to implement the resulting algorithms. We will use an important data-analysis task, namely clustering, as a vehicle. The course will give an overview of different approaches to clustering, starting with evaluation metrics - how can we define what a good clustering looks like - and with a focus on algorithms for computing a clustering. We explore how certain data structures and algorithmic techniques can be used to gain considerable speedups. We will discuss how the curse of dimensionality affects the clustering problem, and discuss dimension-reduction techniques that can be used to mitigate these effects.
HA103/HA104 Honors track Competitive Programming and Problem SolvingIn the honors track Competitive Programming and Problem Solving the students will learn advanced techniques to solve algorithmic problems and the skills to efficiently implement such algorithms. These skills will be put to the test by participating in international programming contests. The experienced coaches will guide the students in their training to become top level algorithmic problem solvers, which are highly sought after nowadays by large tech companies.