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.
The right choice for you?
Software Technology is the right programme for you if your goal is to become any of the following:
A researcher, who
- is well equipped to carry out theoretical and experimental research in the realm of software engineering technologies, programming or design paradigms, or software engineering methods.
- the reliability of software and systems.
A software practitioner, who
- has theoretical knowledge and practical skills in a broad range of software engineering phases, encompassing architecture, design, construction and validation techniques and tools.
- is competent to address specific software engineering challenges in application areas, such as sensor networks, information systems and security.
A tool builder, who
- is proficient in the state-of-the-art software engineering techniques needed to create or contribute to fit-for- purpose, maintainable software tools.
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: https://www.utwente.nl/en/education/master/programmes/computer-science/admission/
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: 2023-2024 2022-2023 2021-2022 2020-2021, 2019-2020, 2018-2019, 2017-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:
Courses
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. The authoritative list of courses in the different categories is specified in the current EER.
General (mandatory)
Core (mandatory)
Course Code | Course Name | Q. |
192140122 | System Validation | 1... |
192111332 | Design of Software Architectures | .2.. |
202001472 | Software Testing and Risk Assessment (STAR) | ..3. |
201400225 | Software Evolution | ...4 |
Mantle (choose at least 4)
Course Code | Course Name | Q. |
192135450 | ADSA - Model Driven Engineering | 1... |
192135310 | Modeling and Analysis of Concurrent Systems | 1... |
201900082 | Graph Algorithms and Complexity | .2.. |
202100126 | Interactive Theorem Proving | .2.. |
202300109 | Quantitative Evaluation of Systems | ..3. |
192652150 | Service-oriented Architecture with Web services | ..3. |
192111092 | Advanced Logic | ...4 |
192340041 | Software Management | ...4 |
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 | Q. |
201400172 | Industrial Software Engineering project (ISEP)** | 12.. |
** 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 | Q. |
201400171 | Capita Selecta Software Technology | 1234 |
Or a Software Science course from the following list***: |
202100113 | Probabilistic Model Checking | ..4. (even academic years) |
202100115 | Program Verification | ..3. (odd academic years) |
202100114 | Graph Transformations | ..3. (even academic years) |
202100116 | 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 2024-2025 (an even academic year), Graph Transformations (Q3) and Probabilistic model checking (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:
* 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. In addition, the Final Project must be performed at UT, another university or at a research institute and not also at an external company (exceptions to the composition of the programme can be approved by the Examination Board).
A list of potential topics for the Research Topics and Final Project is available.
Example Schedules
Common Design Orientation Schedule Year | Quarter | Courses (15EC each quarter) |
1 | Q1 (1A) | Limits to Computing (5EC) | System Validation (5EC) | ADSA - Model Driven Engineering (5EC) |
Q2 (1B) | Computer Ethics (5EC) | Design of Software Architectures (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 Evolution (5EC) | Software Management (5EC) | Advanced Logic (5EC) |
2 | 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 were chosen (the minimum is 4):
- ADSA - Model Driven Engineering
- Interactive Theorem Proving
- Advanced Logic
- Modeling and Analysis of Concurrent Systems
- Software Management
In particular, "Software Management" is a suggested prerequisite for ISEP.
The student chose 4 of the suggested electives:
- Machine Learning I
- Software Science (Probabilistic Model Checking)
- Probabilistic Programming
- Machine Learning I
as well as a further elective "Limits to Computing (5EC)".
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" or a second Software Science course. 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
- the regular length of the programme is 2 years,
- it comprises a total of 120EC,
- each quarter should have 15EC,
- more than 4 mantle courses can be chosen (but at least 4),
- it is possible to choose electives other than the ones explicitly suggested,
- there are some differences between the design and the research orientations,
- if one chooses the design orientation, one cannot also do an internship, because of the overlap with ISEP,
- certain courses only take place at even/odd academic years.
Common Research Orientation Schedule Year | Quarter | Courses (15EC each quarter) |
1
| Q1 (1A) | System Validation (5EC) | Machine Learning I (5EC) | Limits to Computing (5EC) |
Q2 (1B) | Design of Software Architectures (5EC) | Graph Algorithms and Complexity (5EC) | Computer Ethics (5EC) |
Q3 (2A) | Software Testing and Risk Assessment (STAR; 5EC) | Program Verification (5EC) | Quantitative Evaluation of Systems (5EC) |
Q4 (2B) | Software Evolution (5EC) | Advanced Logic (5EC) | Ontology-Driven Conceptual Modeling with Applications (5EC) |
2 | Q1 (1A) | Modeling and Analysis of Concurrent Systems (5EC) | Capita Selecta (5EC) | ADSA - Model Driven Engineering (5EC)
|
Q2 (1B) | Interactive Theorem Proving (5EC) | Research Topics (10EC) |
Q3 (2A) | Final Project (30EC) |
Q4 (2B)
|
This example programme runs for the regular 2 years. The student chose the research orientation. In order to fulfil the requirements of the orientation, the Software Science course Program Verification was chosen (year 1, Q3 (2A)) as well as a Capita Selecta (year 2, Q1 (1A)). 6 mantle courses were chosen (the minimum is 4):
- ADSA - Model Driven Engineering
- Graph Algorithms and Complexity
- Interactive Theorem Proving
- Advanced Logic
- Modeling and Analysis of Concurrent Systems
- Quantitative Evaluation of Systems
Apart from 2 of the suggested electives
- Ontology-Driven Conceptual Modeling with Applications
- Machine Learning I
the student also chose "Limits to Computing". Parts of the electives EC are filled up by mantle courses. The study programme does not fulfil the requirements of the research orientation, because the student did not choose Industrial Software Engineering project (ISEP). The student started in an odd academic year, which we see because "Software Science (Program Verification)" only take place at odd academic years.
In particular, note that
- the regular length of the programme is 2 years,
- it comprises a total of 120EC,
- each quarter should have 15EC,
- more than 4 mantle courses can be chosen (but at least 4),
- it is possible to choose electives other than the ones explicitly suggested,
- there are some differences between the design and the research orientations,
- if one chooses the design orientation, one cannot also do an internship, because of the overlap with ISEP,
- certain courses only take place at even/odd academic years,
- the student made sure not to schedule the Software Science course too early, and
- the Capita Selecta course is also scheduled late enough in the programme.
Schedule Which Fulfils Requirements of Both Research As Well As Design Orientation Year | Quarter | Courses (15EC each quarter) |
1 | Q1 (1A) | System Validation (5EC) | ADSA - Model Driven Engineering (5EC) | Secure Data Management (5EC) |
Q2 (1B) | Computer Ethics (5EC) | Design of Software Architectures (5EC) | Mathematical Finance (5EC) |
Q3 (2A) | Software Testing and Risk Assessment (STAR; 5EC) | Service-oriented Architecture with Web services (5EC) | Mobile and Wireless Networking (5EC) |
Q4 (2B) | Model Checking and Parity Games (5EC) | Software Evolution (5EC) | Software Management (5EC) |
2 | Q1 (1A) | Industrial Software Engineering project (ISEP; 10EC) | Capita Selecta (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 programme fulfils the requirement for both the design as well as the research orientation. The requirements for the design orientation are fulfilled, because Industrial Software Engineering project (ISEP; 10EC) was chosen. In order to fulfil the requirements of the research orientation, the Software Science course Model Checking and Parity Games was chosen (year 1, Q4 (2B)) as well as a Capita Selecta (year 2, Q1 (1A)). 4 mantle courses were chosen (the minimum is 4):
- ADSA - Model Driven Engineering K
- Modeling and Analysis of Concurrent Systems
- Service-oriented Architecture with Web services
- Software Management
The student chose none of the suggested electives. Instead, the courses
- Secure Data Management
- Mathematical Finance
- Mobile and Wireless Networking
were chosen. The student started in an odd academic year, which we see because "Software Science (Model Checking and Parity Games)" only take place at odd academic years.
In particular, note that
- the regular length of the programme is 2 years,
- it comprises a total of 120EC,
- each quarter should have 15EC,
- more than 4 mantle courses can be chosen (but at least 4),
- it is possible to choose electives other than the ones explicitly suggested,
- there are some differences between the design and the research orientations,
- if one chooses the design orientation, one cannot also do an internship, because of the overlap with ISEP,
- certain courses only take place at even/odd academic years,
- the student made sure not to schedule the Software Science course too early, and
- the Capita Selecta course is also scheduled late enough in the programme.
Design Orientation Schedule With Stretched Research Topics Year | Quarter | Courses (15EC each quarter) |
1
| Q1 (1A) | Limits to Computing (5EC) | System Validation (5EC) | ADSA - Model Driven Engineering (5EC) |
Q2 (1B) | Computer Ethics (5EC) | Design of Software Architectures (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 Evolution (5EC) | Human Factors and Organizational Design (5EC) | Advanced Logic (5EC) |
2 | Q1 (1A) | Industrial Software Engineering project (ISEP; 10EC) | Machine Learning I (5EC) | Research Topics (10EC) |
Q2 (1B) | Modeling and Analysis of Concurrent Systems (5EC) |
Q3 (2A) | Final Project (30EC) |
Q4 (2B) |
This schedule is a variant of the "Common Design Orientation Schedule" in which the student chose to split the Research Topics over two quarters. This is not recommended, but possible. According to the Education and Examination Regulations 2024-2025, "Students cannot start Research Topics before having obtained at least 60EC, but are recommended to start at 75 credits." Here, the student took 60EC before starting the Research Topics.
Year | Quarter | Courses (15EC each quarter) |
1 | Q1 (1A) | Modeling and Analysis of Concurrent Systems (5EC) | System Validation (5EC) | Limits to Computing (5EC) |
| Q2 (1B) | Design of Software Architectures (5EC) | Graph Algorithms and Complexity (5EC) | Computer Ethics (5EC) |
| Q3 (2A) | Software Testing and Risk Assessment (STAR; 5EC) | Program Verification (5EC) | Quantitative Evaluation of Systems (5EC) |
| Q4 (2B) | Software Evolution (5EC) | Advanced Logic (5EC) | Capita Selecta (5EC) |
2 | Q1 (1A) | Internship (20EC) |
| Q2 (1B) | Internship (continued; 20EC) | Research Topics (10EC) |
| Q3 (2A) | Final Project (30EC) |
| Q4 (2B) |
This schedule is a variant of the "Common Research Orientation Schedule" above in which the student does an internship. Because of the overlap of learning objectives, taking the course "Industrial Software Engineering project (ISEP)" is not allowed. Therefore, indeed all valid schedules with an internship follow the research orientation. In addition, the Final Project must be performed within the UT, at another university, or a research institute, but not also at an external company (exceptions to the composition of the programme can be approved by the Examination Board).
The internship is a fulltime activity of 14 weeks (plus when necessary 2 weeks in case of unforeseen circumstances). It usually takes place at the beginning of the second year. After finishing the internship, the students starts the graduation phase (Research Topics and Final Project) for usually 28 weeks (maximally 30 weeks).
As an example, assume that the second year of study is the academic year 2024 - 2025.
In this case, the internship would take place from 2 September to 6 December (max 20 December). Afterwards, the student would start the graduation phase 28 weeks (max 30 weeks), from 9 December to 22 June (max 6 July). If the student decides to take holidays during this period, the total time of the internship plus graduation would take longer, which would mean that the schedule might take longer than the usual 2 years. Further information about the internship can be found at the according UT website.
Therefore, in addition to the important points for the "Common Research Orientation Schedule", please note:
- Schedules including an internship cannot include ISEP and therefore must fulfil the requirements of the research orientation.
- Students doing an internship must write their Master thesis at the UT, at another university or at a research institute and not also at an external company (except if examination board approves).
- Carefull read the information about the internship at the according website.
- Being careful with the scheduling of the internship is imporant. The internship is usually taken before graduation. Students who deviate from this schedule should discuss with their study advisor.
Attainment levels
Apart from the general attainment levels for the CS Master, ST graduates will be able to demonstrate their specialist knowledge as follows.
- ST graduates have a thorough knowledge and understanding of the different phases of the software lifecycle (ranging from requirements engineering over architectural and detailed design to construction and quality assurance) as a scientific and design discipline.
- ST graduates have a thorough knowledge and understanding of, as well as practical experience with, the application of software engineering methods and tools in the development and validation of large-scale systems.
- ST graduates know the trade-offs between alternative software engineering techniques and can make educated decisions throughout the software lifecycle.
- ST graduates have knowledge and understanding of various aspects of Software Engineering including its mathematical background, software management, quality assurance, requirements engineering, architectural design, detailed design, software construction, verification, and programming languages.
- ST graduates have specialist knowledge and understanding of one or more sub-fields or aspects of the software engineering discipline, e.g. Programming Languages, Software Composition, Service-Oriented Architectures, Model-Driven Engineering, Formal Methods.
- ST graduates have practical experience conducting scientific research in the realm of software engineering methods and technologies, formal methods and/or programming or design paradigms, enabling them to contribute to such research, follow the trends and apply the results.
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.