Software Technology

Get support in choosing a master’s

Make an impact in the digital transformation by developing software programmes for any application and domain using the latest and most suitable technologies.

Software technology has revolutionised the way we work, travel, and communicate. Think of applications that have become an inseparable part of our lives such as video conferencing, email, and online banking as well as automated operations like processing health claims and logging test results. Even the airbag system in a car relies on a software technology that detects a collision and triggers the airbag to inflate. And so do autonomous vehicles and medical devices, such as pacemakers and radiation therapy machines. Do you want to learn to architect, design, program, validate, and maintain secure and reliable software for a wide range of applications, for example, machine learning, cloud computing, and database management? Then the specialisation in Software Technology might be the right choice for you!

What is Software Technology?

In the specialisation in Software Technology, you will focus on software engineering and formal methods. As part of software engineering, you will learn best practices and techniques such as requirements, architecture, design, maintenance, and quality assurance. What techniques, languages, and specifications are most suitable to the software you want to design? Formal methods are centred around the mathematical techniques to analyse if a software functions correctly. You learn to verify the security of systems as well as the functionality of internet-based and distributed systems. You can focus on one of the two orientations by taking specific courses. If you want to work on a real-world software development project, you can focus on the design orientation. You can, for example, make a data warehouse to analyse how a software technology process is developed and stored. Are you interested in doing research on a specific topic, for example, studying algorithms and protocols to examine if a system meets the given specifications? Then the research orientation will suit you.

Examples of courses you will follow during this specialisation:
  • Learn to develop tools for an industrial company in the course Industrial Software Engineering Project. You will work on a real-world project such as speeding up testing by running the test on a large number of processors in parallel.
  • How can you prove that in a well-known networking algorithm messages always arrive as expected? In the course System Validation, you will learn to apply tools to find bugs in software designs and systems based on solid theoretical foundations.
  • In the course Advanced Logic, you will learn to apply formal logics in computer science. For instance, you will learn to apply the principles of Binary Decision Diagrams which allow to represent system models containing billions of states by using only a few megabytes.

Learn from professionals in the industryText block

The Industrial Advisory Board,  which is a partnership with ICT and high-tech companies in the Netherlands, ensures that the skills and knowledge you gain are aligned with the needs of the software industry. Experts in the field also give lectures about programming, designing, developing, and maintaining efficient software systems. Moreover, you get to work on real-world assignments. For example, one student created a simulator that predicted the cost and technical complexities required to integrate applications from two companies that had different data structures, so they could exchange information and share files between each other. Another past assignment entailed developing a workflow system for a production printing company that automated file preparation in the printing process. What’s more, you can develop a fully functioning tool that analyses which parts of a software system can be improved to make it more scalable and maintainable.

What will you learn?

As a graduate of the Master’s in Computer Science with a specialisation in Software Technology, you have acquired specific scientific knowledge, skills, and values that will help you in your future career.

  • Knowledge

    After completing this Master’s specialisation, you:

    • have a thorough understanding of the different phases of the software lifecycle: requirements, engineering, architectural and detailed design, construction, and quality assurance;
    • know the trade-offs between alternative software engineering techniques and are able to make educated decisions throughout the software lifecycle;
    • have specialist knowledge in programming languages, software composition, service-oriented architectures, model-driven engineering, and formal methods.
  • Skills

    After successfully finishing this Master’s specialisation, you:

    • can apply software engineering methods and tools in the development and validation of large-scale systems;
    • have experience with mathematical methods, software management, quality assurance, requirements engineering, architectural design, detailed design, software construction, and verification;
    • can conduct scientific research in the realm of software engineering methods and technologies, formal methods and programming, and design paradigms.
  • Values

    After completing this Master’s specialisation, you:

    • care about, and make an effort to, developing software of a suitable quality;
    • ensure quality of software by applying the appropriate mathematical formalisms, especially for developing safety-critical systems;
    • are aware of the societal and sustainability aspects of (safety-critical) software that you develop.

Other specialisations

Is this specialisation not exactly what you are looking for? Maybe one of the other specialisations suits you better. You can also find out more about related Master’s at the University of Twente:

Chat offline (info)
To use this functionality you first need to:
Accept cookies