Software is at the heart of nearly every aspect of modern life, from finance and healthcare to government and telecommunications. As the use of software systems continues to expand, so does their complexity. Despite the vast investments made in software development, the end products don’t always meet user expectations or deliver the desired reliability. This specialisation is designed to equip you with the skills needed to develop high-quality software. You'll learn solid, research-based methods, techniques, and tools for modeling, building, analyzing, and verifying software systems.
The primary goal of the specialisation in software foundation and technology is to explore how we can efficiently build high-quality software. How can we safeguard against unintended bugs or potential malicious attacks on our software infrastructure? And how can we ensure and prove the guaranteed correctness of our software? We are a diverse team of researchers/lecturers, covering a wide range from the logical foundations underlying software, to concrete software technologies and tools that boost software development and verification. We are happy to teach you and to supervise your research projects on i.e.:
Software forms the fabric of the infrastructure of our society, and it pervades both our professional and personal lives. The workings of our democratic society, the operations of most companies, the success of scientific missions, and sometimes even people’s lives depend on the correct functioning of software. We have a strong track record in scientific research, and in applying our research to relevant and critical software systems, in collaborations with companies, including:
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.