Software Technology (ST)

The Software Technology (ST) specialization is targeted towards computer science students whose ambition is to be qualified for one or more of the following job descriptions:
  • Software practitioners, who have theoretical knowledge and practical skills in a broad range of software engineering phases, encompassing architecture, design, construction and validation techniques and tools are able to address specific software engineering challenges in application areas such as sensor networks, information systems and security.
  • Researchers, who are well equipped to carry out theoretical and experimental research in the realm of software engineering technologies, programming or design paradigms, or software engineering methods.
  • Tool builders, who are proficient in state-of-the-art software engineering techniques needed to create or contribute to fit-for-purpose, maintainable software tools.

Industrial Advisory Board

To keep in touch with the industrial playing field and make sure that, in the long run, our curriculum remains aligned with the needs of industry, Software Technology has created an Industrial Advisory Board in which a number of high-tech software companies have taken place. Apart from advising us on the content of the curriculum, these companies also provide assignments, projects and guest lectures. The current list of board members can be found here.

Enrolment and Programme Mentor

In order to enroll in this specialization, you should make a selection of the courses below, and fill in this

ST Course Programme form

This will be sent to the programme mentor, 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 ahousl coincide with those you entered through the above form.

If you have any questions or want to discuss your choice, please contact the programme mentor:

Prof. Dr. A. (Arend) Rensink
Room: Zilverling 3090
Phone: +31 (0)53 489 4862


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.

These are courses that are mandatory across all specialisations of Computer Science.

Course Code Course Name kw
191612680 Computer Ethics .2..
192199508 Research Topics* 1234
192199978 Final Project 1234
*) Research Topics should be carried out directly prior to the Final Project.

Fundamental courses on topics that cut across the following categories. All courses are mandatory and yield a total of 20 credits in total.

Course Code Course Name kw
192135450 ADSA - Model-Driven Engineering .2..
201400172 Industrial Software Engineering project* 1234
192340041 Software Management ...4
*) ISEP is a 10 EC course that runs during a semester, i.e., 2 consecutive quarters: either 1+2 or 3+4. It is to be followed in the second year of the programme.

Students must pick (at least) three courses from this group. Each Software Engineering phase is represented by one course. Thus, by picking three courses, at least three phases are covered.

Course Code Course Name kw
201400170 Best Practices in Software Development (Detailed Design and Development phases) ...4
192111332 Design of Software Architectures (Architecture phase) 1...
201600040 Requirements Engineering Processes and Methods (Requirements phase) .2..
192170015 Testing Techniques (Quality Assurance phase) ..3.
201400225 Software Evolution (Maintenance Phase, TUE) ..3.

Students must pick (at least) 2 courses from this group.

Course Code Course Name kw
192135400 ADSA - Product Line Engineering .2..
201400226 Advanced algorithms (TUE) 1...
201400227 Architecture of Distributed Systems (TUE) 1...
201400173 Concepts of Programming Languages .2..
201400174 Data Science* .23.
192135310 Modeling and Analysis of Concurrent Systems 1 1...
192140122 System Validation 1...
*) Data Science is offered twice during the year; you may select both instances.

Application Areas
Students must pick (at least) 2 courses from this group. Different application areas are represented by one course each. By picking two courses, at least two different areas are covered.

Course Code Course Name kw
191158500 Advanced Programming in Engineering .2..
201400177 Cloud networking .2..
201400228 Constraint programming (TUE) 1...
201200044 Managing Big Data .2..
192654000 Network Security 1...
191211090 Real-Time Software Development ...4
201600051 Software Security .2..
201000075 Wireless Sensor Networks 1...

To obtain the minimally required number of 120 credits students can choose among all courses from the Computer Science Master programme (given that the programme mentor approves the selection), with one exception. Because the Software Technology programme already has as very practical focus, including the mandatory "Industrial Software Engineering Project" semester course, it is not possible to choose the course "Traineeship" (192199968) in the electives of this programme. It is particularly advisable to choose the electives from the courses listed in the categories above or from the list of recommended electives below.

Course Code Course Name kw
192111092 Advanced Logic ..3.
201400229 Algorithms for geographic data (TUE) ..3.
201400171 Capita Selecta Software Technology 1...
192320820 Design Science Methodology ..3.
201400235 Embedded Real-Time systems (TUD) 1...
201400231 Geometric algorithms (TUE) .2..
191520751 Graph Theory ..3.
192653100 Internet Management and Measurement ...4
192130200 Real-time Systems 1 ..3.
192110940 Secure Data Management 1...
192652150 Service-oriented Architecture with Web Services ..3.


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 large-scale systems.
  • ST graduates know the trade-offs between alternatives software engineering techniques and can make educated decisions throughout the software lifecycle.
  • ST graduates have knowledge understanding of various aspects of Software Engineering including a mathematical background, software management, quality assurance, requirements engineering, architectural design, detailed design, software construction 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, Model Checking.
  • ST graduates have specialist knowledge and understanding of the software requirements of one or more application areas, such as pervasive systems and network protocols, information systems, security
  • ST graduates have practical experience conducting scientific research in the realm of software engineering technologies, programming or design paradigms, or software engineering methods, enabling them to contribute to such research, follow the trends and apply the results.