Tracks

The Master's programme of Computer Science currently offers six distinct tracks:

Big Data Engineering

In the internet era, data plays centre stage. We all continuously communicate via social networks, we expect all information to be accessible online continuously, and the world economies thrive on data processing services where revenue is created by generating insights from raw data. These developments are enabled by a global data processing infrastructure, connecting the whole range from small company computer clusters to data centers run by the world-leading IT giants. In the Big Data Engineering track you study the technology from which these infrastructures are built, allowing you to design and operate solutions for processing, analysing and managing large quantities of data. This track is part of the joint Master in Computer Science, in which renowned researchers from both VU and UvA contribute their varied expertise in one of the strongest Computer Science programmes available in Europe. 

Track coordinator: Adam Belloum

Track core courses:

  • Large-Scale Data Engineering 
  • Web Data Processing Systems 
  • Web Services and Cloud-based Systems 
  • Information Visualisation 
  • Data Mining Techniques

Covers restricted choice area: Programming

Computer Systems Security

The Amsterdam-based Master track in Computer Systems Security is unique in the Netherlands in focusing on system security issues in operating systems, hardware and applications. Have you ever wondered how attackers bypass even the most advanced security mechanisms, how we can reverse engineer state-of-the-art malware, or in general, what "hacking a system" is all about? This specialisation in Computer Systems Security, a joint effort by Vrije Universiteit Amsterdam and University of Amsterdam, is different from security tracks in other universities which tend to focus more on formal methods or the math behind cryptography. Instead, we focus on systems. Our philosophy is that you learn by doing and, moreover, the way to learn most about security solutions is to break them. So, you will learn how to write exploits and how to bypass some of the strongest defenses commonly deployed. The courses are extremely challenging and most of them have a very hands-on character. 


In particular, students graduating in the Computer Systems Security specialisation have knowledge of

  • security issues in system-level software including weaknesses and defenses (and how to bypass them)
  • static and dynamic analysis techniques for software (benign and malicious, binary and source)
  • research in attacks and defenses
  • reverse engineering and forensics


Track coordinator: Herbert Bos

Track core courses:

  • Computer and Network Security 
  • Cybercrime and Forensics 
  • Binary and Malware Analysis 
  • Kernel Programming 
  • Secure Software

Covers restricted choice area: Programming  

Foundations of Computing and Concurrency

This track aims at Computer Science students with a general interest in Computing and Concurrency and the application of formal methods for system design. Computing is a fundamental phenomenon in computer science and we provide courses addressing this field in a wide range: from distributed algorithms to protocol validation, and from term rewriting to logical verification. In order to enhance background knowledge and to support the further study of foundational questions some general courses in logic and mathematics are provided as well. Concurrency naturally occurs in the specification of distributed systems, and their analysis, verification and implementation require a systematic approach, aided by formal methods. 

Track coordinator: Femke van Raamsdonk

Track core courses:

  • Protocol Validation 
  • Distributed Algorithms 
  • Advanced Logic 
  • Logical Verification 
  • Term Rewriting Systems

Covers restricted choice area: Foundations

Internet and Web Technology

Internet and the World Wide Web play a central role in our society, and have changed the way software systems are engineered and provisioned. Recent advances in virtualization techniques as well as the emergence of Software-as-a Service (SaaS) and cloud-based paradigms have enabled new ways of providing and exploiting computing and IT resources over the Internet. This track aims specifically at preparing students to work in such a complex, dynamic and distributed environment. It gives both in-depth understanding of the key components in developing distributed software- and service-based systems over the Internet, and provide the students with technical and critical thinking skills for the design and performance evaluation of such systems. 

Track coordinator: Spyros Voulgaris

Track core courses:

  • Internet programming 
  • Service Oriented Design 
  • Distributed Algorithms 
  • Performance of Networked Systems 
  • Web Services and Cloud-based Systems


Covers restricted choice area: Programming, Foundations, Software Engineering

Parallel Computing Systems

Parallel computing systems are ubiquitous today. From laptops and mobile phones to global-scale compute infrastructures, parallel computing systems drive the world we live in. Although motivated by advances in hardware design, the many-core revolution has a profound impact on engineering software: Only software explicitly dedicated to parallel architectures can fully exploit today's hardware potential and benefit from future gains in hardware performance. Only software engineers who are true experts in parallel computing systems can make an impact on future software. For this track, leading research groups in the areas of parallel system architecture, programming parallel systems, and performance optimization team up to educate the future experts of the many-core age. This track covers all aspects of parallel computing systems, from hardware to software, and the entire range of scale from laptops to compute servers, GPU accelerators, heterogeneous systems and large-scale, high-performance compute infrastructures. The track includes much practical work that uses a unique, world-class infrastructure, the Distributed ASCI Supercomputer (DAS). Being around for almost two decades, the brand new 5th generation system DAS-5 covers the entire range of scale of parallel systems today and is equipped with a variety of the latest many-core devices. The track also optimally benefits from the local SURFsara supercomputing centre and the Netherlands eScience Center, that both are involved in numerous real-world applications. 

Track coordinator: Clemens Grelck

Track core courses: 

  • Parallel System Architectures 
  • Programming Large-scale Parallel Systems 
  • Parallel Programming Practical 
  • Programming Multi-core and Many-core Systems 
  • Performance Engineering

Covers restricted choice area: Programming

Software Engineering and Green IT

Software engineering applies a systematic and quantifiable approach to the development, execution and maintenance of complex software. Green IT is the study and practice of environmentally sustainable computing. The combination of Software Engineering and Green IT in one track provides the students with the instruments necessary to gain a holistic understanding of large-scale and complex software systems, to manage their evolution, assess their quality and environmental impact, quantify their value and sustainability potential, and organize their development in different local and distributed contexts. Software engineering and Green IT is a broad and comprehensive field, in which engineering plays an important role, next to social, economic and environmental aspects. The field continually evolves, as the types of systems and the world at large do change as well. The field is being influenced by practices and development paradigms such as outsourcing, global software development, service orientation, smart and pervasive computing, and energy-aware software engineering. 

Track coordinator: Patricia Lago

Track core courses:

  • Service Oriented Design 
  • Software Asset Management 
  • Software Architecture 
  • Software Testing 
  • Green Lab

Covers restricted choice area: Software Engineering

Published by  GSI

24 February 2017