Skip to content

Report an error

Nebenläufige, parallele und verteilte Programmierung

Nebenläufige, parallele und verteilte Programmierung
Organisationseinheit
Freie Universität Berlin/Mathematik und Informatik/Informatik
Bereich

  • Pflichtbereich
Zugangsvoraussetzungen

Keine

Qualifikationsziele

Die Studierenden kennen die grundlegenden Begriffe im Zusammenhang mit der nebenläufigen, parallelen und verteilten Programmierung und ordnen diese in das Themengebiet ein. Sie wenden eine geeignete Modellierung für die Programmierung und Ausführung an und begründen auf Basis von geeigneten Modellen die Entscheidung für einen Programmieransatz und setzen diesen um. Sie können den Einfluss von nichtdeterministischem Verhalten erkennen und mit Hilfe geeigneter Mechanismen die Korrektheit des Programms sicherstellen und sind in der Lage, ihre und andere Programme auf Basis geeigneter Modellierung in Hinblick auf funktionale und nichtfunktionale Anforderungen zu analysieren und zu bewerten.

Inhalte

Die Studierenden erlernen die Grundlagen der deterministischen Programmausführung (deterministische vs. determinierte Programmausführung, Maschinen-, Ausführungs- und Programmiermodell) und setzen sich mit den Zielsetzungen der nebenläufigen, parallelen und verteilten Programmierung einschließlich nichtfunktionaler Eigenschaften auseinander. Sie erarbeiten sich die Fähigkeit der nebenläufigen Programmierung mit Prozessen auf Systemen mit gemeinsamem Speicher, sowie der parallelen Programmierung mit Threads auf Systemen mit gemeinsamem Speicher. Des Weiteren erlernen die Studierenden Konzepte wie den kritischen Abschnitt und erarbeiten sich Methoden zum Schutz des kritischen Abschnitts in Abhängigkeit vom Maschinenmodell (Schlossvariable [Lock], Semaphore, Monitor). Sie erweitern ihre Fähigkeiten auf den Bereich der parallelen Programmierung mit Nachrichtenaustausch auf Systemen ohne gemeinsamen Speicher. Sie verstehen die Herausforderungen von Verklemmungen und erarbeiten sich entsprechende Lösungsansätze. Im Bereich der verteilten Programmierung erlernen Studierende, wie sie mit homogenen und heterogenen Systemen ohne gemeinsamen Speicher umgehen. Daneben erarbeiten sie sich die Konzepte der verteilten Programmierung (Fernaufrufe, Peer-to-Peer, Gruppenkommunikation) sowie Grundlagen der Infrastruktur für und des Managements von verteilten Anwendungen. Studierende üben den Einsatz von Programmierwerkzeugen für die Entwicklung von nebenläufigen, parallelen und verteilten Programmen.

Lehr- und LernformenAktive Teilnahme
Vorlesung
4 SWS
Teilnahme empfohlen

-

Übung
2 SWS
verpflichtete Teilnahme

Schriftliche Bearbeitung von Übungsaufgaben. Moderation einer Übung oder eines Teils davon.

Aufwand

Präsenzzeit V60 Stunden
Vor- und Nachbereitung V30 Stunden
Präsenzzeit Ü30 Stunden
Vor- und Nachbereitung Ü120 Stunden
Prüfungsvorbereitung und Prüfung30 Stunden
Modulprüfung
Mündliche Prüfung (ca. 20 Minuten) oder Klausur (90 Minuten); die Klausur kann auch in Form einer elektronischen Prüfungsleistung (90 Minuten) durchgeführt werden.

Differenzierte Bewertung
differenzierte Bewertung

Modulsprache
Deutsch
Arbeitsaufwand (Stunden)
270
Leistungspunkte (LP)
9
Dauer des Moduls
Ein Semester
Häufigkeit des Angebots
Jedes Wintersemester
Verwendbarkeit

Bachelorstudiengang Informatik, Bachelorstudiengang Informatik für das Lehramt, Masterstudiengang für das Lehramt an Integrierten Sekundarschulen und Gymnasien, Masterstudiengang für das Lehramt an Integrierten Sekundarschulen und Gymnasien mit dem Profil Quereinstieg