The curriculum in the master's programme Computing Science consists of the following parts:

  • Mandatory courses (22.5 EC): three courses that every student in the programme takes.
  • Primary electives (22.5 EC): three courses chosen from a list of four that is specific to your chosen track (see the "Study Programme" tab for the list of available tracks).
  • Secondary electives (30 EC): four courses to shape the master programme into your personal programme that fits your research interest. These electives can be chosen more liberally from other tracks within the Computing Science programme, or even from other programmes. It is also possible to use this elective "space" to do a so-called "profile" that centers around a certain pre-defined theme. See the "Profiles" tab for a list of available profiles. 
  • Research part (45 EC): do innovative research yourself and write a thesis about it.


Master courses of the Department of Information and Computing Sciences are listed at, along with useful general information, schedules and access to course-spcific information.

Courses of all university bachelor and master programmes can be found with the OSIRIS course catalogue.

Mandatory courses
INFOMADS Algorithms for descision support term 1 timeslot C
INFOMCPD Concepts of program design term 2 timeslot C
INFOMBD Big data term 3 timeslot D

Take three courses chosen from a list of four that is specific to your track

Track Algorithm design and analysis
INFOMCRWS Crowd simulation term 2 timeslot A
INFOGA Geometric algorithms term 2 timeslot D
INFOAN Algorithms and networks term 3 timeslot B
INFOMNWSC Network science term 4 timeslot A
INFOSTT Scheduling and timetabling
not this year, will be back in 2019/20 term 1
term 1  
Track Programming technology
INFOMPSV Program semantics and verification term 1 timeslot A
INFOMTFL Technologies for learning term 1 timeslot B
INFOAFP Advanced functional programming term 3 timeslot C
INFOMCCO Compiler construction term 4 timeslot C
Track Advanced planning and decision making
INFOPROB Probabilistic reasoning term 1 timeslot D
INFOAN Algorithms and networks term 3 timeslot B
INFOEA Evolutionary computing term 3 timeslot A
INFOSTT Scheduling and timetabling
not this year, will be back in 2019/20 term 1
term 1  
Track Algorithmic data analysis
INFOMDM Data mining term 1 timeslot D
INFOMR Multimedia retrieval term 1 timeslot C
INFOMPR Pattern recognition term 2 timeslot D
INFOMPSM Pattern set mining term 4 timeslot D

Take four courses in the categories below:

  • The fourth course in your track
  • Any course from another track in the Computing Science programme
  • An individual Experimentation project, or Capita Selecta
  • Any course from the Game and Media Technology primary electives
  • Any course from the Agents track in the Artificial Intelligence programme
  • A course from another programme in the Faculty of Science (at most one, upon approval)
  • A course from another programme in Utrecht University (at most one more, upon approval)
  • Deficiency courses: courses from the bachelor's programme (in Dutch) which may be needed if you have non-standard background knowledge (at most two, upon approval)
Mini courses in the 1st year
GSNS-INTRO Introducing natural sciences 0.5 EC
FI-MHPSDIL Dilemmas of the scientist 0.5 EC
Individual elements in the 2nd year
INFOMCCS Colloquium Computing science 4 EC
INFOMCOSC1 Thesis Computing science part 1 15 EC
INFOMCOSC2 Thesis Computing science part 2 25 EC

We organize a weekly colloquium in which staff members, guests and students give presentations on computing science topics. The colloquium is a mandatory part of your programme, and it is also a good opportunity to learn about the research done by others, and computing science in general. It also gives you inspiration for your own (thesis) project. To obtain its 4 EC, it is mandatory to attend at least 25 colloquium sessions (30x for students that started before Sept. 2016), and to give one presentation yourself.

Within all Master's programmes one or more research projects are mandatory. Please see ‘Study programme’ for general information on such projects in your curriculum. In many cases, a research project may be carried out outside of the university, in the form of an internship at a company, research institute, or another university. This can be in the Netherlands as well as abroad (see also: ‘study abroad’). 

You are required to fill out the following forms in order to be able to either start or finish your research project or internship. Please fill out the forms digitally and use a print-out for signing and handing in. The documents require macros to be enabled in Word to use all of the form functionality. After approval of your registration you will be automatically registered in Osiris.

  • Make sure to hand in the co-signed Research Application Form at the Science Student Desk prior to starting your project. Important: this form can only be filled out completely after you have discussed the project setup with your intended project supervisor! 
  • Please note that this protocol (English version) applies when a project is delayed. 
  • In case of a project or internship outside of Utrecht University, please make sure you have filled out the 'daily supervisor' section of the Research Application Form and also fill out this Work Placement Agreement.
  • If your project is split into two parts, your project supervisor will fill out the assessment form part 1 at the end of the first part of your project.
  • At the end of your project your supervisor will fill out the assessment form part 2 and hand it in at the Science Student Desk in order to have your grade registered in Osiris. 

At the start of your study, you are required to compose a study plan from above components, specifying the courses you plan to take, and when. The plan has to be approved by the programme coordinator.

course enrollment WITH Osiris

For most courses you need to register online through OSIRIS. More information about online registration via OSIRIS can be found here.