Core courses
The master's programme starts with a common core that aims to further develop your knowledge and mastery of advanced concepts and theories in Computer Science and fosters a responsible mindset preparing you for your future career. In addition to the mandatory courses in Software Architecture and Responsible Computer Science, you can choose three courses from the following list: Machine and Deep Learning, Formal Reasoning about Software, 3D Computer Graphics & Animation, Security and Cryptography, Web-Scale Data Management and High Performance Data Networking.
Year 1 |
|||
Quarter 1 |
Quarter 2 |
Quarter 3 |
Quarter 4 |
Software Architecture | Core course | Responsible Computer Science | Research course |
Core course | Theme 1 | Theme 1 | Theme 1 |
Core course | Theme 2 | Theme 2 | Theme 2 |
Credits: each core course is 5EC, total 25EC
Compulsory Core courses
Software Architecture
The software architecture course offers students a comprehensive exploration of designing, modeling, analyzing, and evaluating software design and architectures, along with engaging discussions on recent articles in the field and insightful guest lectures showcasing industry practices. It covers fundamentals, architectural patterns, the role of software architects, analysis and evaluation techniques, and emerging trends such as service-oriented architectures and software architecture evolution. Through extensive group lab work, students delve into real-world architectures of open-source systems, contributing actively to projects sourced from GitHub.
Responsible Computer Science
The Responsible Computer Science course aims to foster a responsible mindset among students for their future careers in Computer Science Engineering, emphasizing ethical and sustainable practices. Topics include human agency, algorithmic robustness, privacy, fairness, inclusivity, and accountability. Students explore organizational, social, and technical aspects of ethical and responsible Computer Science and engage in discussions about integrity, ethics, and their future roles in the field, connecting various
Choose 3 out of 6 courses
Q1
Q1 – Machine and Deep Learning
This course aims to explore and apply essential concepts and assumptions in Machine and Deep Learning. Topics covered include supervised learning, generalization, overfitting, model selection, and specialized architectures such as CNNs, RNNs, and Transformers. The course content includes (un)supervised learning, classification, decision theory, overfitting, classical statistical learning classifiers, complexity, regularization, support vector classifiers, deep learning as well as the design and analysis of machine learning experiments.
Q1 - Formal Reasoning about Software
In this course, you will learn the fundamentals of formal reasoning about programs. The basis for reasoning is logic, specifically, propositional and predicate logic. Within logic, we formally specify programming languages, that is, their syntax and operational semantics. We also formulate specifications of programs and prove that given programs satisfy their specification. The logic we work in is itself implemented as a computer program, in a so-called computer proof assistant. You will learn how to implement logical reasoning in a computer proof assistant; the activity of "proving" thus becomes a form of programming itself.
Q1 - 3D Computer Graphics and Animation
In this course, you will be introduced to Computer Graphics. The topic is of very high relevance for the industry and the research community and has numerous applications in different domains, such as scientific visualization, video games, simulators, special effects, animated movies and many more. You will learn about basic and advanced algorithms, as well as modern implementation techniques for image, object and motion synthesis on a computer.
Q2
Q2 – Security and Cryptography
Computers are pervasive in society, handling vast amounts of information, necessitating robust security measures to safeguard against fraud and protect privacy. This course covers the fundamentals of secure data storage and transportation of information, including classical and modern encryption schemes, authentication methods, data integrity, and digital signatures, alongside advanced topics like zero-knowledge proofs and secret sharing schemes.
Q2 – Web-Scale Data Management
This course addresses the challenges of Data Management at Web-scale. Especially, it covers the need for large-scale distributed data storage systems. The lectures therefore introduce step-by-step increasingly complex distributed storage systems, leading up to modern implementations of different NoSQL data storage systems. The advantages, disadvantages, and general properties of these systems are discussed in more detail. The course focuses also on database transactions, and the implications those have in modern, Web-scale application development and deployment.
Q2 – High Performance Data Networking
The Internet has become of critical importance to society. However, the large size of networks and abundance of protocols have made network management very complex. The novel concept of network programmability addresses this complexity and has resulted in a paradigm shift in how networks are (or can be) operated. The high-performance data networking course is an advanced networking course that will introduce you to the concept of network programmability and which treats fundamental networking concepts like Quality of Service and network resilience.