This two-year Master's programme consists of 4 distinct tracks:
You choose one track. During your study, you have to take four of the courses offered in that track.
All students select one course from each of these constrained choices:
For the track you follow, you select at least four courses from the respective constrained choice of that track. This leaves room for four electives. You’ll carry out your Master’s project and write your thesis in the second half of your second year.
Good to know: the annual UvA Thesis fair brings together industry experts and students of informatics, aiming to create innovative MSc thesis projects. Find out more about the UvA Thesis Fair.
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.
Computer systems and networks are the core components of all distributed data and information processing systems. Our modern society depends on them. Many computer systems are even not recognisable as such, because they are embedded in larger devices such as cars, airplanes, medical equipment, smart buildings, robotics, and so on.
The realisation of modern computer systems is greatly complicated by their increasing complexity: these computer systems integrate increasingly more processors, often heterogeneous, sometimes in a distributed context, and possibly also resulting in complex systems-of-systems which can be found in, for instance, the Edge-to-Cloud computing continuum and the high-performance memory-storage system). Meanwhile, computer networks interconnecting these systems are evolving with significantly increased customisability in addition to higher speeds. The energy consumption, sustainability, dependability, and security and privacy of these computer systems and networks also require increasing attention.
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 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.
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.