Software Technology Master

If your interest encompasses development of high-end software, unrestricted by application domain, then this degree programme is for you. High-end reliable software development requires a thorough understanding of current technology, polished design, programming and validation skills, and a comprehensive working knowledge of the different phases of software engineering. Aside from these tough requirements, every domain of application has its own special features, languages and techniques.

The specialization in Software Technology offers a combination of courses that teach all of the aspects listed above. Our students graduate as experts in state-of-the-art technologies and software engineering phases. They also acquire specialist insight into their choice of application domains, including databases, wireless and embedded systems, security or cloud computing. In addition to an individual graduation project, students will also carry out an industrial team-based project focusing on a real-life problem. Throughout the programme, students will amass theoretical knowledge and learn practical skills that will make them assets as developers for a broad and diverse range of software products and uses.

The courses  Software Technology are listed below on this page.

Industrial Advisory Board

This Master's programme makes use of the expertise of an Industrial Advisory Board, comprised of representatives from foremost software-intensive high-tech companies, like Océ, Thales and Nedap. The board offers advice on the relevance of the curriculum, suggests improvements, submits interesting case studies and assignments, and organizes guest lectures. The current list of board members can be found here.

The right choice for you?

Software Technology is the right programme for you if your goal is to become any of the following:
researcher, who

software practitioner, who

tool builder, who

Career opportunities

Software is nowadays found in all kinds of application areas, ranging from computer applications, web services and information systems to the automotive or consumer electronics sector. A Master's degree with the Software Technology specialization offers employment opportunities for software developers, consultants, or verification engineers in a software-intensive company, as well as for researchers at the university of industrial research centers or as a verification engineer. You might also indulge your entrepreneurial spirit and start a company of your own, bringing your own state-of-the-art software solutions to the market.

Enrolment and Programme Mentor

In order to enroll in the Software Technology specialization, you first need to get admitted to the Computer Science master. Information about admission is available at:

Once you have been admitted to the Computer Science master, you can enroll for the Software Technology specialization by submitting a course program form. In the form you choose a selection of the courses below amounting to 120 EC. The form can be found here: course programme form (older forms: 2022-2023 2021-2022 2020-2021, 2019-2020, 2018-20192017-2018).
Submitted forms are sent to the programme mentors, who will check it agains the regulations and, if correct, forward it to CES. You can always change your choice later, by repeating the same procedure. At the time you are ready to start your Final Project, the courses you actually followed should coincide with those you entered through the above form.

If you have any questions or want to discuss your choice, please send an email to both programme mentors:


The courses for the ST specialization are divided in categories to ensure education in a broad range of phases in the software engineering lifecycle, technologies, and application areas of software technology. To enrich the variety of courses in this specialization, we also include courses carried out by sister technical universities, Delft and Eindhoven. The authoritative list of courses in the different categories is specified in the current EER.

General (mandatory)

Course Code

Course Name



Computer Ethics



Research Topics



Final Project


Core (mandatory)

Course Code

Course Name



Design of Software Architectures



System Validation



Software Testing and Risk Assessment (STAR)



Software Engineering Techniques*


* The core course Software Engineering Techniques will be replaced by Software Evolution from 2024-2025 onwards. Software Engineering Techniques will be taught the last time upcoming Q4 (29-04-2024 until 05-07-2024). Software Evolution will be taught in Q4 from 2024-2025 onwards.

Mantle (choose at least 4)

Course Code

Course Name



ADSA - Model Driven Engineering



Modeling and Analysis of Concurrent Systems



Graph Algorithms and Complexity



Interactive Theorem Proving



Quantitative Evaluation of Systems



Software Evolution*



Service-oriented Architecture with Web services



Advanced Logic



Software Management


Orientation (choose 1)

The choice of orientation – either the Design or the Research Orientation – brings further requirements of 10 EC worth of courses.

Design Orientation

Course Code

Course Name



Industrial Software Engineering project (ISEP)**


** ISEP is a 10 EC course that runs during a semester, i.e., 2 consecutive quarters. It should not be taken in the first semester of your study programme. ISEP cannot be combined (within the regular 120 EC) with 192199968 Internship, since there is too much overlap between the respective learning goals. 

Research Orientation (choose 2 courses, totalling 10EC)

Course Code

Course Name



Capita Selecta Software Technology


Or a Software Science course from the following list***:


Probabilistic Model Checking

..4. (even academic years)


Program Verification

..3. (odd academic years)


Graph Transformations

..3. (even academic years)


Model Checking and Parity Games

...4 (odd academic years)

*** The Software Science courses are usually given every two years as indicated, but the schedule may vary. In academic year 2023-2024 (an odd academic year), Program Verification (Q3) and Model Checking and Parity Games (Q4) will be given.

***In the course programme form, please select 201700084 Software Science for your first Software Science course if you choose the Research Orientation. If you choose the Design Orientation or you want to complete more of these courses as electives, please list them in the "Profiling space: Other courses" field.

Electives (free choice)
Any of the courses above can also be chosen as electives. In particular, you can choose additional mantle courses as well as courses from the other orientation. The same goes for all other courses offered within the Master Computer Science (provided you satisfy the respective prior knowledge requirements). To find all those courses on Osiris, choose "Master Computer Science" for the field "Participating study". Update: this information is not available on the new Osiris pages. Instead you can find courses with CS as participating study in these lists: courses-in-Q4 courses-all-year. In addition, we want to explicitly suggest the following courses as ST electives:

Course Code

Course Name



Machine Learning I



Managing Big Data



Software Security



Performance Evaluation



Data Science*



Probabilistic Programming



Software Science**






Ontology-Driven Conceptual Modeling with Applications



Linked Data and Semantic Web


* If you plan to take two editions of Data Science, please indicate them as 201400174 Data Science (first edition) and 201500363 Data Science Additional Topics (second edition) in the course programme form.
** The individual Software Science courses are listed for the Research Orientation above.
*** The course Internship cannot be combined with ISEP (within the regular 120EC). Consequently, if you choose Internship, you also choose the Research Orientation.

A list of potential topics for the Research Topics and Final Project is available.

Example Schedule



Courses (15EC each quarter)


Q1 (1A)

Design of Software Architectures (5EC)

System Validation (5EC)

ADSA - Model Driven Engineering (5EC)

Q2 (1B)

Computer Ethics (5EC)

Graph Algorithms and Complexity (5EC)

Interactive Theorem Proving (5EC)

Q3 (2A)

Software Testing and Risk Assessment (STAR; 5EC)

Software Science (Probabilistic Model Checking; 5EC)

Probabilistic Programming (5EC)

Q4 (2B)

Software Engineering Techniques (SET; 5EC)

Human Factors and Organizational Design (5EC)

Advanced Logic (5EC)


Q1 (1A)

Industrial Software Engineering project (ISEP; 10EC)

Machine Learning I (5EC)

Modeling and Analysis of Concurrent Systems (5EC)

Q2 (1B)

Research Topics (10EC)

Q3 (2A)

Final Project (30EC)

Q4 (2B)

This example programme runs for the regular 2 years. The student chose the design orientation, and thus took the "Industrial Software Engineering project (ISEP)" course. 5 mantle courses ("ADSA - Model Driven Engineering", "Graph Algorithms and Complexity", "Interactive Theorem Proving", "Advanced Logic", "Modeling and Analysis of Concurrent Systems") were chosen (the minimum is 4). Apart from 3 of the suggested electives ("Software Science (Probabilistic Model Checking)", "Probabilistic Programming", "Machine Learning I"), the student also chose "Human Factors and Organizational Design in Socio-technical Systems". The course "Software Science (Probabilistic Model Checking)" counts as an elective of a study programme of the design orientation.

The study programme does not fulfil the requirements of the research orientation, because the student did not choose "Capita Selecta Software Technology". If, however, "Machine Learning I" would be replaced by  "Capita Selecta Software Technology", the programme could count as either orientation. For the research orientation, "Industrial Software Engineering project (ISEP)" would then be used as an elective.

The student started in an even academic year, which we see because "Software Science (Probabilistic Model Checking)" only take place at even academic years.

In particular, note that

Attainment levels

Apart from the general attainment levels for the CS Master, ST graduates will be able to demonstrate their specialist knowledge as follows.