Software and systems engineering

Our daily lives are increasingly impacted by distributed systems, database systems and embedded systems, ranging from smart phones to smart cars and smart buildings to omnipresent web-based applications. The specialisation “Software and systems engineering” teaches the principles and practice of modelling, building, and validating such large and complex software systems. The modules offered as part of this specialisation cover methods for the development of safe, high-performing and dependable systems, addressing a number of key challenges in computer science.

Module overview

We provide a list of selected courses which fit to the specialization "Software and Systems Engineering" here. Please check ZEuS for the offers of the current and upcoming semester.

Basic modules

The following basic moduls fit to a specialization in "Software and systems engineering" and we recommand to complete some of them as a basis for advanced modules, if they (or equivalent modules) have not been completed in a previous bachelor’s programme. These include:

  • Big data management and analysis
  • Specification, modeling and analysis of software
  • Concurrent, distributed and cloud computing
  • Multimedia retrieval: Basic concepts
  • Geographic information systems

Please see ZEuS for more details and the courses that are offered in the current or upcoming semester.

Additional basic modules

Additionally, other modules complement the insights into the field "Software and systems engineering". These include:

  • Advanced algorithmic concepts
  • Algorithms in bioinformatics
  • Petri nets

Advanced modules (purely master's level)

As the exam regulations specify, you need to complete at least three advanced modules in one area to be able to have a specification stated on your examination certificate. For the specialization in “Software and Systems Engineering”, a range of advanced modules are offered. These include:

  • Advanced model checking
  • Model checking of software and systems
  • Database system architecture and implementation
  • Graph data management and analysis
  • Compiler construction
  • Multimedia retrieval: Advanced topics

Please see ZEuS for more details and the offers of the current or upcoming semester.

Additional advanced modules (purely master's level)

Some more advanced modules complement the insights into the specialization "Software and systems engineering" as provided by the advanced modules above. These include:

  • Randomized algorithms
  • Complexity theory

Please note: you CANNOT have these additional advanced modules recognized as one of the three master's specialization modules in the field "Software systems engineering"! Please choose your three specializing modules from the advanced module pool (see above).

Courses from other departments and key qualifications

The following courses from other departments or the Centre for Transferable Skills (SQ) fit to this specialization:

Courses from other departments:

  • Introduction to financial accounting (Grundlagen des Betrieblichen Rechnungswesen, taught in German)
  • Introduction to organizational economics
  • Marketing (Introduction)(Einführung in das Marketing, taught in German)
  • Human resources management and organization (Personal und Organisation, taught in German)
  • Patent law (Patentrecht, taught in German)
  • Law of copyright (Urheberrecht, taught in German)
  • Contract law (Vertragsrecht, taught in German)

Key qualifications:

  • Conduct of negotiations (Verhandlungsführung, taught in German)
  • Conflict communication (Konfliktkommunikation; taught in German)
  • International communication

For further suitable courses from other departments and key qualifications, see the general list provided by the department or contact your mentor.

Career prospects

You will acquire the following skills

As a software systems engineer, you have the skills required to design, develop, and test architectures for reliable, secure and efficient software systems. In particular, you are familiar with methods to formally specify and check the behaviour of complex systems, algorithms and data structures to manage, process and analyze large amounts of data, as well as techniques to ensure the security and safety of distributed systems.

We have contacts to the following companies

We have contacts to the following companies, with which you might possibly do an internship or your project with:

  • SAP SE, Walldorf, Germany
  • BaseX GmbH, Konstanz, Germany

For further contacts, please contact the research groups below.

You could work as …

  • a project manager who identifies new software features and coordinates their realisation together with software developers and testers from inception to shipping.
  • a systems engineer who ensures the highest levels of systems and infrastructure availability by managing, monitoring and maintaining software systems.
  • a database, cloud, network or software architect who designs and develops new software systems in response to emerging requirements.
  • a safety or security engineer who tests distributed and networked systems for possible vulnerabilities and devises new techniques how to secure them against current and future threats.

Mentor recommendations