CS2301 Nebenläufige und verteilte Programme

Modulverantwortliche
  • Prof. Dr. Uwe Meyer
Lehrende
  • Prof. Dr. Michael Elberfeld
  • Tom Käsler
  • Prof. Dr. Thorsten Weyer
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.

Inhalte
  • 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
Qualifikations- und Lernziele

Fachkompetenzen

  • Die Studierenden können die wichtigsten Verfahren, Techniken und Grundlagen der nebenläufigen und verteilten Programmierung abgrenzen und beschreiben.

Methodenkompetenzen (fachlich & überfachlich)

  • Sie sind in der Lage, Problemstellungen zu klassifizieren und mit bekannten Verfahren und Techniken zu behandeln.

Sozialkompetenzen

  • Sie können in Teamarbeit Lösungen erarbeiten und präsentieren.

Selbstkompetenzen

ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 60 Std.
  • Selbststudium 120 Std.
Lehr- und Lernformen
  • 4 SWS
  • Vorlesung 2 SWS
  • Übung 2 SWS
Studiensemester
  • Informatik (B.Sc. 2010)
  • Ingenieur-Informatik (B.Sc. 2010)
Dauer
1 Semester
Häufigkeit des Angebots
Einmal im Jahr
Unterrichtssprache
Deutsch
Bonuspunkte

Nein

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung: Keine

Prüfungsleistung: Klausur

Benotung
Die Bewertung des Moduls erfolgt gemäß §§ 9, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Bachelorstudiengänge der THM möglich.
Literatur, Medien
  • Prokopec, A.: Learning Concurrent Programming in Scala. Packt.
  • Goetz, B.; Bloch, J.; Bowbeer, J.; Lea, D.: Java Concurrency in Practice. Addison-Wesley.
  • Herlihy, M.; Shavit, N.: The Art of Multiprocessor Programming. Morgan Kaufmann.

Rechtliche Hinweise