The curriculum in the Computer Science 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.
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.
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.
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.
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.
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 organise 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.