The Computing Science programme consists of 10 courses plus a Master’s thesis. To ensure that you coherently build up your courses towards your Master's thesis, you can choose one of the following tracks:
- Programming Technology
- Algorithm Design and Analysis
- Advanced Planning and Decision Making
- Algorithmic Data Analysis
Track title: Programming Technology
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 Compiler Construction, Advanced Functional Programming, Theory of Programming and Types, Program Verification, and Automatic Program Analysis.
Track title: Algorithm Design and Analysis
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 Algorithms and Networks, Geometric Algorithms, Scheduling and Timetabling, and Simulation.
Track title: Advanced Planning and Decision Making
Many tasks in our life involve complex decision making. Capturing the involved decision processes would allow us to automate these tasks. This track focusses on advanced techniques to facilitate clever and effective planning and decision making by software. Track courses typically include Probabilistic Reasoning, Evolutionary Computing, Algorithms and Networks, Scheduling and Timetabling, and Simulation.
Track title: Algorithmic Data Analysis
Nowadays, people collect massive amount of data about various aspects of their lives. Many useful and interesting things can be learned by systematically analysing such data; this track focuses on advanced and state-of-the-art techniques to do this. Track courses typically include Data Mining, Queries and Retrieval, Pattern Recognition, Multimedia Retrieval, and Pattern Set Mining. Students will also select five electives.