Nebenläufige und verteilte Programme

Modulnummer
CS2301
Modulverantwortliche
Thomas Letschert
Dozenten
Thomas Letschert
Kurzbeschreibung
Dieses Modul führt in die Konzepte der Nebenläufigkeit und Verteilung ein und zeigt, wie Synchronisationsprobleme mit Standard-Techniken und -Mechanismen gelöst werden.
Qualifikations- und Lernziele

Die Absolventinnen und Absolventen kennen die wichtigsten Verfahren, Techniken und Grundlagen der nebenläufigen und verteilten Programmierung. Sie sind in der Lage, Problemstellungen zu klassifizieren und mit bekannten Verfahren und Techniken zu behandeln, sowie in Teamarbeit Lösungen zu erarbeiten und zu präsentieren.

Lerninhalte
  • Konzepte: Parallelität, Nebenläufigkeit und Verteiltheit
  • Synchronisation: Gegenseitiger Ausschluss, Bedingungssynchronisation
  • Techniken der asynchronen Verarbeitung
  • Protokolle und ihre Implementierung
  • Sprachmittel zur Formulierung paralleler Programme auf Multicore-Hardware und Rechner-Clustern
Moduldauer (Semester)
1
Unterrichtssprache
Deutsch
Gesamtaufwand
6 CrP; 180 Stunden, davon etwa 60 Stunden Präsenzzeit.
Semesterwochenstunden
4
Lernformen

Vorlesung 2 SWS, Übung 2 SWS

Geprüfte Leistung

Prüfungsleistung: Klausur

Bewertungsstandard

Bewertung der Prüfungsleistung nach § 9 der Prüfungsordnung (Teil I)

Häufigkeit des Angebots
Einmal im Jahr
Literatur
  • A. Prokopec: Learning Concurrent Programming in Scala
  • B. Goetz, J. Bloch, J. Bowbeer, und D. Lea: Java Concurrency in Practice
  • M. Herlihy, Maurice. N. Shavit: The Art of Multiprocessor Programming