Computer Science (joint degree UvA/VU)
In the Master's programme Computer Science you are taught by scientists who have a reputation for world-class research on computer systems, software, networking and online systems. As a joint degree programme of UvA and VU, you benefit from the expertise of both research groups at both institutions and their international contacts.
Why study Computer Science in Amsterdam?
- You are interested in the techniques behind computer systems, programmes, and the Internet.
- You have the ambition to get to the core of a scientific computational problem and are eager to discuss this at the highest level with your peers.
- You want, for example, to learn what is technically feasible on the Internet, now and in the future, or learn to design intelligent computer programmes.
- You want to become a well-trained researcher by taking part in research with renowned scientists from both the VU Amsterdam and the University of Amsterdam.
What can you expect from the Computer Science programme in Amsterdam?
- State-of-the-art teaching facilities and computing infrastructures;
- education from internationally renowned scientists;
- interactive teaching methods, individual supervision, and research orientation.
The Computer Science study programme
The curriculum in this Master’s programme mainly takes place at the VU Amsterdam, where you have the opportunity to choose from a range of specialisations according to your interest:
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 BelloumRead more
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 BosRead more
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
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 virtualisation 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
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
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
Joint degree programme with VU Amsterdam
Computer Science is a joint degree programme of the University of Amsterdam and Vrije Universiteit Amsterdam. Courses are taught at locations of both universities. UvA and VU jointly issue a degree certificate to graduates. As a Computer Science student in Amsterdam you benefit from expertise, networks and research projects at both universities and affiliated research institutes.
- Degree programme
- MSc Computer Science
- Regular study programme
- 120 ECTS, 24 months
- Language of instruction
- Starts in
- February, September
- CROHO code