Software Engineering and Technology
You will research, analyze and develop all kinds of innovative applications, software systems and architectures (e.g. parallel, cloud-based and IoT systems) in close collaboration with interest groups and clients. You will follow an appropriate, agile and risk-based software development process and use suitable software development tools and programming languages. You will be able to take on various roles in software development teams and even lead smaller development teams.
Advanced User Interfaces
Under the Advanced User Interfaces specialization, you will research, design, implement and evaluate forward-looking user interfaces in a user-centric way for specialist and gaming applications. These user interfaces use various methods, such as gestures, language, virtual or augmented reality and artificial intelligence and machine learning technologies, to enable interactions that are as natural as possible and provide an ideal level of immersion for users. You will learn to evaluate and implement new interaction technologies.
Programming Languages
Programming language theory deals with the design, implementation, and analysis of programming languages and of individual programs. Although rooted in formal mathematics, programming language theory has widespread impact and applicability in the fields of programming and software engineering. For instance, functional programming and type systems have recently received attention due to their potential for writing elegant, correct, and efficient programs that are easier to write, compose, reason about, and maintain. Compiler and Runtime Systems are another focus area in this specialization.
The specialization «Programming Languages» will allow you to perform research in this field and improve the state of the art in programming and software engineering. You will also learn how to apply techniques from this field in software engineering practice.
Communication Systems
You will analyze, plan, implement and operate communication systems of all kinds, whether networked, cloud-based, distributed, embedded or mobile. You will be able to research and develop distributed applications, communication protocols, interfaces, services and systems, virtual platforms and networks and will be able to operate these systems in a secure, reliable way. We provide you with sound knowledge in the fields of wireless communication and IT security. You will learn to evaluate and implement new technologies.
Cybersecurity
You will learn how to develop secure software and systems and how they are attacked and defended. You will learn relevant cryptographic building blocks, design principles and methods, processes and security controls, enabling you to build and maintain secure systems in line with the “security / privacy by design” principle. You understand the threat environment and can take on the role of an attacker if required. You can evaluate the security of a system and provide recommendations for how to improve it. You can evaluate and implement new security technologies drawn from research and investigate new threats from the practical world.
Software Defined Networking
The networks of the future are centrally controlled, automated and programmable. During your studies you will research, develop, implement and operate networks that fulfill new needs and enable new applications. These networks are intelligent, secure and interact with applications. You will learn how these new networks work and investigate new application possibilities.
Within these specializations, the MSE advisors currently focus on human-centered design, responsible AI, functional programming, functional verification, API design, cloud-native applications, multi-model databases, segment routing and path tracing.
The EVA offer as well as information on project and master theses can be found on the study content page.
The project topics in the priority areas are extremely varied. Theses can be written in English or in German. Here is a small selection:
- A Modeling Framework for Strategic Domain-driven Design and Service Decomposition
- Debugging Support for Reactive Programming with RxJS
- Integrating OpenStreetMap with Public Transport Network Format NeTEx using the JOSM Editor
- Muen – an X86/64 Separation Kernel for High Assurance (pdf)
- Recommender System für Geo-Metadata
- Refactoring-Werkzeuge für verschiedene Programmiersprachen
- strongSwan – OpenSource VPM Lösung unter Linux
- Statische Programmanalyse von C++
- Werkzeuge zur statischen Programmanalyse
You can find numerous other examples of work that has already been completed on the Advisor websites. Your own suggestions for topics are welcome, including those from cooperation partners in industry.