The programme offers 3 specialised tracks, each focussing on a different area of Computing Science. You select 1 out of 3 tracks to define and customize your study programme. Your choice determines which courses you take and the type of research you are involved in.
Programming languages that we use have direct consequence on our productivity as well as the reliability of the software we produce. The provided abstraction matters a lot as well as the degree of the correctness control that a language imposes. This track focuses on advanced techniques related to programming languages, transformation and analysis of programs, and the verification of their correctness. Track courses typically include Advanced functional programming, Language based security and Program semantics and verification.
To automate life, we build software to solve problems such as how to reach one place from another and how to schedule busses and trains. In essence, a piece of software is an algorithm to solve a problem. This track focuses on the design and analysis of advanced and scalable algorithms to solve complex problems. Track courses typically include Advance algorithms, Geometric Algorithms, Scheduling and Timetabling, Optimization for Sustainability, Network Science.
Operations Research (OR) deals with the application of advanced analytical methods to help make better decisions. Applications occur in e.g. (public) transportation, logistics, energy networks, healthcare, computer networks and education. Being prescriptive analysis it is part of data science. In this track you learn advanced algorithms as well as data mining and machine learning techniques to solve real-life decision and optimization problems.
Track courses typically include Optimization for Sustainability, Scheduling and Timetabling, Advanced algorithms, Data Mining and Evolutionary computing. This track also welcomes students with a bachelor in Mathematics. Furthermore there is the option to follow selected courses from Mastermath.