The Master’s programme consists of compulsory courses, electives, and a Master’s thesis.

First period

Motion and manipulation

Motion and manipulation are key issues in the field of robotics and automation, but they also play a major role in virtual environments and games.
In this course models and planning problems for tasks that involve motion or manipulation are studied.
The course covers topics from kinematics, which studies motions without taking their causes into consideration.
The study of manipulation concentrates on kinematic models for articulated structures such as arms, models for grasp analysis based on velocities and forces, and on simple non-prehensile forms of manipulation such as pushing.
Special attention is given to industrial automation as an example of manipulation planning. Geometry is a major parameter in the definition, modeling, and planning of manipulation and motion tasks.

Course form
Lectures, practical exercises, and literature study.

Chapters from the book Theory of Applied Robotics by Reza N. Jazar, the no longer available book Fundamentals of Robotics: Analysis and Control by Robert J. Schilling, and some material from the books Mechanics of Robotic Manipulation by Matthew T. Mason and Collision Detection in Interactive 3D Environments by Gino van den Bergen.

Multimedia retrieval

Multimedia retrieval (MR) is about the search for and delivery of multimedia documents, such as text, images, video, audio, and 2D/3D shapes.

This course teaches MR from a bottom-up perspective. After introducing what MR is by means of examples and use-cases, the MR pipeline is presented.
Next, each of the building blocks of this pipeline is discussed in detail, starting with the most basic one (data representation), going through the modeling of human perception of media, feature extraction, matching, evaluation, scalability, and presentation issue.
At the end of the course, students should understand the theory, techniques, and tools that are involved in designing, building, and evaluating every block in the MR pipeline.
The overall aim is thus for students to be able to design, build, and evaluate end-to-end MR systems for different types of multimedia data.

The course covers multimedia retrieval from a multidisciplinary perspective. Aspects taken into account: MR data representation; data (signal, image, shape) processing; understanding and working with high-dimensional data; connections between MR, machine learning, and data visualization; computational scalability and complexity aspects of working with big data collections; and human factors in interactive systems design.

The course takes a predominantly practical stance: after the theoretical principles of MR are introduced, we focus on how MR is to be practically implemented to be successful.
Various design and implementation decisions for the MR pipeline building-blocks are discussed, focusing not only on their theoretical merits, but also ease of implementation/parameterization, robustness, and speed.
Trade-offs between alternative solutions to a given problem are discussed.

Course form
Lectures, self-study, presentations, and a project.


The course has no compulsory textbook, as a significant amount of information is presented in detail in slides, papers, notes, and demos.

However, the following books are strongly recommended as optional reading material, as they give additional details on the material discussed in the course:

  • H. Eidenberger, "Handbook of Multimedia Information Retrieval", 2012, Atpress, ISBN 9783848222834.
  • L. Da Fontoura Costa, R. Marcondes Cesar Jr, "Shape Analysis and Classification: Theory and Practice", CRC Press
  • A.C. Telea, "Data Visualization - Principles and Practice", 2nd edition, 2014, CRC Press, ISBN 9781466585263

Visit the course page to find out which chapters from the above books cover which topics of the course.

Scientific perspectives on GMT (compulsory)

The course takes a scientific view on game and media technology by discussing, among other things, fundamental and experimental research, user studies, and general scientific approaches.

Course form
Lectures (2 per week; mandatory attendance or exam instead) and six assignments (mandatory participation, often in teams of 4).

Will be announced in the lecture.

Second period

Advanced graphics

The master course Advanced Graphics addresses advanced topics in 3D computer graphics. The focus of the course is physically-based rendering of 3D scenes. The course has two main focus areas: rendering algorithms and making rendering more efficient. Efficiency will be sought through acceleration structure construction and traversal and variance reduction.

The course starts with a recap of Whitted-style ray tracing. We then explore various acceleration structures that help to run the ray tracing algorithm in real-time on commodity hardware. We will see that a well-built bounding volume hierarchy provides both flexibility and speed, for static and dynamic scenes.

The second part of the course introduces the path tracing algorithm, and related light transport theory. We investigate various methods to improve the efficiency of the algorithm using probability theory. We will see that efficient path tracing can yield interactive frame rates.

In the third part of the course we use GPGPU to run ray tracing and path tracing on the GPU. We will explore recent research in high performance stochastic rendering.


  • Basic knowledge in linear algebra, calculus, probability theory as required for the masters program, see "Elementary maths for GMT" (we will still recap important concepts but move quickly).
  • Fundamentals in algorithms and data structures.
  • Bachelor level knowledge in computer graphics is strongly recommended. Without prior graphics knowledge, you will need substantial additional time (and probably some talent).
  • Good programming skills; C# and C++ will both work, but for optimal performance and low level control, C++ is recommended. Plan for additional time if you plan to familiarize yourself with C++ during the course.

During the course, a number of papers will be used. These will be specified in the lectures.

Geometric algorithms

In many areas of computer science -- robotics, computer graphics and virtual reality, and geographic information systems are some examples -- it is necessary to store, analyze, and create or manipulate spatial data. This course deals with the algorithmic aspects of these tasks: we study the design and analysis of geometric algorithms and data structures.

Computer graphics, robot motion planning, computer games, simulations, geographic information systems, and CAD/CAM systems all make use of geometric algorithms to perform various tasks.
This course on geometric algorithms takes a fundamental viewpoint and discusses the design and analysis of geometric algorithms. We will study various algorithmic techniques and geometric concepts that are useful to solve geometric problems efficiently. These include plane sweep, randomized incremental construction, and multi-level data structures; geometric concepts include Voronoi diagrams and Delaunay triangulations, arrangements, and duality. We will apply these techniques to solve a variety of problems: convex-hull computation, line-segment intersection, polygon triangulation, low-dimensional linear programming, range searching, and point location are some examples. Each problem we study is motivated by a practical problem from one of the application areas.

Course form
Two lectures per week.

M. de Berg, O. Cheong, M. van Kreveld, and M. Overmars. Computational Geometry: Algorithms and Applications (3rd edition). Springer-Verlag, Heidelberg, 2008. ISBN 978-3-540-77973-5.

Pattern recognition

In this course we study statistical pattern recognition and machine learning.

The subjects covered are:

General principles of data analysis: overfitting, the bias-variance trade-off, model selection, regularization, the curse of dimensionality.
Linear statistical models for regression and classification.
Clustering and unsupervised learning.
Support vector machines.
Neural networks and deep learning.

Knowledge of elementary probability theory, statistics, multivariable calculus and linear algebra is presupposed.

Sound and music technology

Sound and music provide powerful ways for impacting the human experience involved in the engagement with games and media. For instance, they are of crucial importance for the interactive and immersive qualities of games, which are key aspects in making games worthwhile to play. Sound and music are also crucial in the context of media technology. In order to enhance users experiences when listening to, interacting with and searching for music from large collections of digitized music that became available over recent decades, new technologies for processing digitized music and sound information need to be developed.

In this course, you will learn how to apply and develop computational methods to extract, process and utilize music information from digital sound and music in the context of newly emerging research areas within games and media. You will learn how sound and music information is crucial for the human experience, and how the computational modelling of sound and music contributes to the enrichment of this experience in games and media. This encompasses that you will get to know both basic concepts on how human listeners extract, make sense of and give meaning to information from sound and music, and how these basic concepts are used, researched and applied through computational technology.

The course is structured around three main modules:

  1. Sound and music for games
  2. Analysis, classification, and retrieval of sound and music for media
  3. Generation and manipulation of sound and music for games and media

The course will cover key topics for sound and music technology in the context of games and media, such as interactivity and immersion in games through sound and music (A), classification and retrieval of similar musical objects in multimedia (B), and the utilization of the emotional and affective qualities of music in games and media (A, C).
You will learn what specific technologies are developed and required within these key topics, such as automatic pattern discovery, voice separation, automatic segmentation, and feature extraction and manipulation (B).
For studying, discussing and employing these technologies you will get to know different representation forms of music information in audio and symbolic data (A, B), different musical dimensions such as melody, rhythm, harmony, timbre and loudness (A, B), and how they are modelled through computational features (A, B, C).
Moreover, you will learn about different general strategies for developing computational models for sound and music processing, such as model-based versus data-driven approaches, and about the challenges of evaluating these models.

Course form
Lectures that cover basic terminology and techniques, discussions of research papers about which students will give presentations, as well as learning by doing through a final project. Students will present their project in the final week.


Third period

Computer vision (compulsory)

This course is about the algorithms and mechanisms to extract and classify information from images and video.
The course combines theory and practice, with two themes: multi-view reconstruction and CNN image/video classification.

Study material
Python, OpenCV, TensorFlow, Keras

Game physics

An immersive game experience requires realistic game physics.
In this course a number of topics regarding game physics are covered.
These topics include rigid body physics, numerical integration methods, collision detection and collision resolution, soft body physics, physics engine design and implementation.

Course form
Lectures, tutorials.

Multimodal interaction

This course covers multimodal (multisensory) perception and interaction.
The course starts with a discussion of the fascinating world of human visual, auditory and tactile perception and the use of its potential in designing novel interfaces for interacting with virtual worlds.
Furthermore, augmented reality is covered as one particular example of multimodal interaction. In the practical part, students will apply the theoretical background of multimodal perception and multisensory input to concrete state-of-the-art examples (e.g., from virtual or augmented reality).

Fourth period

AI for game technology

In this course the use of AI techniques in games is explored, for instance in serious gaming and training. Distributing game control over several independently operating agents is discussed, several path-planning techniques useful for computer games are investigated, and dynamic re-planning algorithms useful for dealing with dynamic environments are described. Furthermore, machine learning techniques such as evolutionary algorithms with neural networks are discussed, as well as some techniques and solutions for multi-agent cooperation.body { font-size: 9pt;

Computer animation

This course will not be offered in 2021-2022.

Crowd simulation

A huge challenge in computer games and other applications is to simulate large crowds of moving agents in a virtual environment in real-time.
These agents need to avoid collisions with obstacles and with other characters. Also, it is important that their paths are visually compelling or even realistic (depending on the application).

In this course, we will study and discuss state-of-the-art research papers on path planning and crowd simulation, and we will analyze how to apply these techniques in applications that need realistic crowds.

Detailed information can be found on the course website Crowd Simulation (INFOMCRWS) 2021 (

Course form
This course is a seminar with regular mandatory meetings.
In most of these meetings, you will present and discuss research papers. There are also a few standard lectures, and some sessions in which you will present assignment results. See the course website for a detailed schedule.

There will be various other assignments next to the presentations and abstracts mentioned before.
In these assignments, you will study crowd simulation problems in current games, and you will work in small group on a selected problem related to crowds.

A selection of research papers on path planning and crowd simulation is available on the course website. \
You will give a presentation on one of them, and write summaries and critical reviews of the other papers. We will discuss these papers during our online meetings.

Mobile interaction

Mobile devices, such as smart phones and tablets, have become as powerful as traditional computers, often replacing them for various tasks.
Yet, interacting with them remains challenging due to issues such as limiting form factor, mobile context, etcetera.
On the other hand, it is exactly this form factor, context, and other characteristics of mobiles that provide us with new and exciting opportunities for alternative usages. Examples range from innovative mobile games, to mobile AR (augmented reality) applications.
In this course, we will have a closer look at standard interaction with mobiles (e.g., via touch screen; including potential issues as well as opportunities), address new approaches, and look into related current and future research -- including wearable devices (e.g., head mounted displays, such as Google Glass, wristbands and smart watches, such as the Apple Watch).
Concrete application domains include mobile gaming and mobile VR/AR. For more information about content, procedure, and formal issues please refer to the course’s website:

Course form
Lectures, presentations, self-dependent group project.

There will be no textbook, but we will use journal articles and conference papers instead.
These will be announced in the lectures and on the course’s website:

Optimization and vectorization

INFOMOV is a practical course on optimization: the art of improving software performance, without affecting functionality.
We apply high level and low level optimizations, in a structured manner.
Especially for the low level optimizations, we must intimately understand the hardware platform (CPU, GPU, memory, caches) and modify our code to use it efficiently.

Vectorization: Modern processors achieve their performance levels using parallel execution. This happens on the thread level, but also on the instruction level. Being able to produce efficient vectorized code is an important factor in achieving peak performance.

GPGPU: Graphics processors employ a streaming code execution model, taking vectorization to extremes, both in the programming model and the underlying architecture. Leveraging GPU processing power is an important option when optimizing existing code.

Context: Optimization is a vital skill for game engine developers, but also applies to other fields.

Course form
Lectures, assignments.

Recommended articles, available through the course website.