MSE Master of Science in Engineering

The Swiss engineering master's degree

Each module contains 3 ECTS. You choose a total of 10 modules/30 ECTS in the following module categories: 

  • 12-15 ECTS in technical scientific modules (TSM)
    TSM modules teach profile-specific specialist skills and supplement the decentralised specialisation modules.
  • 9-12 ECTS in fundamental theoretical principles modules (FTP)
    FTP modules deal with theoretical fundamentals such as higher mathematics, physics, information theory, chemistry, etc. They will teach more detailed, abstract scientific knowledge and help you to bridge the gap between abstraction and application that is so important for innovation.
  • 6-9 ECTS in context modules (CM)
    CM modules will impart additional skills in areas such as technology management, business administration, communication, project management, patent law, contract law, etc.

In the module description (download pdf) you find the entire language information per module divided into the following categories:

  • instruction
  • documentation
  • examination 
Embedded Real-time Software (TSM_EmbReal)


Embedded Systems, although they are not visible, have become integral parts of this world. Embedded Systems essentially consist of two components: hardware and software. In contrast to information systems e.g. in the banking world, hardware is more application specific. Due to this fact, the software that interacts directly with the hardware is more specific as well. Real-time and concurrency are important issues in Embedded System development, which come on top of the generally valid requirements for correctness and reliability.

The module teaches methods to develop Real-Time Embedded System Software and deals with the following complementary aspects:


  • Modern C++ for microcontrollers, focusing on programming close to hardware with and without dynamic memory allocation
  • Real-Time Operating Systems, Applications and Modelling
  • Software concepts for asymmetric multiprocessor systems



  • Knowledge in C programming language and object-oriented programming in a programming language
  • Good knowledge of computer and microprocessor architectures
  • Fundamentals of Operating Systems
  • Basic knowledge in concurrent programming

Learning Objectives


Based on requirements, the students will be able to apply the optimal method to develop and verify an Embedded System,


  • on the boundary between hard- and software using modern C++ and RTOS features
  • on application layer using modeling methods.

Contents of Module


The module provides insights at real-time embedded systems from various perspectives, consisting of three major parts.

In the first part, we focus on C++ for embedded systems with focus on the use on microcontrollers.


  • Using C++: showing the huge advantages of C++ for Embedded Systems
  • Point out where C++ uses dynamic memory allocation and how to deal with it on microcontrollers.

In part II, we discuss SW modelling and implementation aspects using real-time operating systems


  • Introduction to RTOS
  • Task Models and Real-Time Scheduling
  • Concurrency
  • Modeling & Code Generation
  • Testing & Debugging

In the last part, the focus is on software development for asymmetric multi-core embedded systems:


  • Inter-Processor communication
  • Multi-core programming

Teaching and Learning Methods

  • Ex-cathedra teaching
  • Exercises
  • Self-study (study of papers, case studies)
  • practical exercises: programming embedded software on embedded systems

Download full module description