Software is at the heart of nearly every aspect of modern life, from finance and healthcare to government and telecommunications. As software systems expand, their complexity also increases. Consequently, despite significant investments in development, the end products do not always meet user expectations or ensure reliability. Therefore, this specialisation equips you with the skills to develop high-quality software. In addition, you will learn research-based methods, techniques, and tools for modeling, building, analyzing, and verifying software systems.
The primary goal of this specialisation in software foundation and technology is to explore how we can efficiently build high-quality software. For example, how can we safeguard against unintended bugs or malicious attacks? Furthermore, how can we ensure and prove the correctness of software? To address these challenges, our diverse team of researchers and lecturers covers areas ranging from logical foundations to practical technologies and tools. Moreover, we actively involve students in research projects, including:
Software underpins modern society and shapes both our professional and personal lives. Indeed, the functioning of governments, companies, and scientific missions often depends on reliable software. Therefore, we combine strong research with real-world applications. For instance, we collaborate with companies on:
Please note that details regarding general programme structures and brief study plans are subject to change and are not legally binding. Only the official regulations and study plans are authoritative.
These courses are designed to equip students with the essential skills and knowledge required for success in the cybersecurity field.
FALL | SPRING |
| Advanced Topics in Programming Language Theory (10 ECTS) | Algorithmic Model Checking (10 ECTS) |
| Formal Software Verification (10 ECTS) | Language-based Security (10 ECTS) |
| Program Analysis (10 ECTS) | Category Theory (10 ECTS) |
| Program Logics (10 ECTS) |
Ready to deepen your knowledge? Our supplementary courses offer students the opportunity to broaden their expertise in related fields.
Students may also select elective courses from computer science department or from other departments, provided they are relevant to their area of specialisation.
FALL | SPRING |
| Cryptology (10 ECTS) | Systems Security (10 ECTS) |
| Quantum Information Processing (10 ECTS) | Modelling and Verification (10 ECTS) |
| Theory of Algorithms and Computational Complexity (10 ECTS) | |
| Computational Geometry: Theory and Experimentation (10 ECTS) | |
| Algorithms, Incentives, and Data (10 ECTS) | |
| Introductory Algebra 1 + 2 (5+5 ECTS)* | |
| Mathematical Analysis 1 (10 ECTS)* | |
| Graph Theory 2 (10 ECTS) | |
| Embedded Real Time Systems (10 ECTS) | |
| Compilation (10 ECTS) |
(*) only offered in Danish.
Learn more about the programme structure and the courses offered within the specialisations and course packages.
See more details about the master's degree programme in Danish or English.