MSE Master of Science in Engineering

The Swiss engineering master's degree


Jedes Modul umfasst 3 ECTS. Sie wählen insgesamt 10 Module/30 ECTS in den folgenden Modulkategorien:

  • ​​​​12-15 ECTS in Technisch-wissenschaftlichen Modulen (TSM)
    TSM-Module vermitteln Ihnen profilspezifische Fachkompetenz und ergänzen die dezentralen Vertiefungsmodule.
  • 9-12 ECTS in Erweiterten theoretischen Grundlagen (FTP)
    FTP-Module behandeln theoretische Grundlagen wie die höhere Mathematik, Physik, Informationstheorie, Chemie usw. Sie erweitern Ihre abstrakte, wissenschaftliche Tiefe und tragen dazu bei, den für die Innovation wichtigen Bogen zwischen Abstraktion und Anwendung spannen zu können.
  • 6-9 ECTS in Kontextmodulen (CM)
    CM-Module vermitteln Ihnen Zusatzkompetenzen aus Bereichen wie Technologiemanagement, Betriebswirtschaft, Kommunikation, Projektmanagement, Patentrecht, Vertragsrecht usw.

In der Modulbeschreibung (siehe: Herunterladen der vollständigen Modulbeschreibung) finden Sie die kompletten Sprachangaben je Modul, unterteilt in die folgenden Kategorien:

  • Unterricht
  • Dokumentation
  • Prüfung
Parallel and distributed computing (TSM_ProgAlg)

The objective of this module is to present an overview of parallel and distributed computing and related algorithms. The first part of the course will be dedicated to the architectures of parallel and distributed  infrastructures, the different theoretical models for these architectures and the different programming models and tools for programming such architectures. The second part will be dedicated to the study of a number of classical parallel and distributed algorithms. This course includes practical work to train the student in the use of parallel and distributed computing.

Eintrittskompetenzen

  • Procedural and object oriented programming
  • Software engineering (UML or other)
  • Basic notions of algorithms and complexity
  • Basic notions of concurrent programming (Threads)

Lernziele

At the end of the course the student knows:

  • The most common parallel and distributed hardware infrastructures
  • The different ways to model and efficiently program these architectures
  • How to choose the proper parallel or distributed algorithm to write an application for solving a specific problem on a specific architecture
  • How to efficiently program this application
  • How to assess the performance of this application

Modulkategorie

Introduction

  • Different architectures of parallel and distributed infrastructures 
  • Communications models and communication costs
  • Performance metrics for parallel and distributed systems 
  • Scalability of parallel and distributed systems

Heterogeneous shared memory systems

  • Architecture of widely used multi-core systems
  • Parallel programming models (OpenMP)

Distributed memory systems

  • Communication operations and their costs
  • Message passing paradigm (MPI)
  • Distributed object paradigm

Parallel and distributed algorithms

  • Asymptotic analysis of parallel programs 
  • Decomposition techniques
  • Mapping techniques for load balancing 
  • Matrix-vector and matrix-matrix multiplication
  • Parallel and distributed sorting algorithms
  • Parallel and distributed Graph algorithms

Lehr- und Lernmethoden

This course involves theoretical presentations and practical exercises or laboratories. Some of the exercises or laboratories are programming exercises that can be done at home by accessing a parallel and distributed infrastructure made available through the internet.

Bibliografie

A. Introduction to Parallel Computing, Zbigniew J. Czech, Cambridge University Press, 2017
B. An Introduction to Parallel Programming, 1st edition, Peter Pacheco , Morgan Kaufmann Publishers Inc, 2011

Vollständige Modulbeschreibung herunterladen

Zurück