For best experience please turn on javascript and use a modern browser!
You are using a browser that is no longer supported by Microsoft. Please upgrade your browser. The site may not present itself correctly if you continue browsing.

Programme structure

The track consists of 120 ECTS over two years. It includes:

  • At least 4 core track-specific courses and a set of restricted electives
  • A wide selection of electives in theoretical and applied topics
  • Research methods and a Master's thesis

Courses may be offered by staff at both UvA and VU.

  • Core courses (select at least 4)
    • Term of Rewriting Systems
    • Logical Verification
    • Distributed Algorithms
    • Foundations of Cryptography
    • Advanced Algorithms
    • Advanced Logic
    • Information Theoretic Learning
    • Advanced Topics in Algorithms

    These courses provide the tools for rigorous analysis of computation, communication and security protocols.

Electives and interdisciplinary options

You may choose electives across the Computer Science programme or from related Master’s programmes such as Artificial Intelligence, Logic, or Software Engineering. This enables you to customise your academic path.

Research project and thesis

The final part of the programme consists of an individual research project (30 ECTS), often linked to one of the theoretical computer science research groups at UvA or VU. Projects may also have connections to national or international research collaborations.

Learning approach

Expect a combination of lectures, seminars, and research-oriented assignments. This track is academically demanding and well-suited to students with strong mathematical or formal backgrounds. 

Explore the study guide for course details or visit the programme overview page for general structure.