Skip to content

Report an error

Nichtsequentielle und verteilte Programmierung für Lehramt

Nichtsequentielle und verteilte Programmierung für Lehramt
Organisationseinheit
Freie Universität Berlin/Mathematik und Informatik/Informatik
Bereich

  • Wahlbereich
Zugangsvoraussetzungen

Erfolgreiche Absolvierung des Moduls Objektorientierte Programmierung für Studentinnen und Studenten mit Programmierkenntnissen oder des Moduls Objektorientierte Programmierung für Studentinnen und Studenten ohne Programmierkenntnisse

Qualifikationsziele

Die Studentinnen und Studenten verstehen die Grundbegriffe der nichtsequentiellen Programmierung mit gemeinsamen Speicher und Nachrichtenaustausch. Sie können nichtsequentielle Programme mit Prozessen/Threads/ aktiven Objekten geeignet strukturieren und durch geeignete Synchronisationsverfahren unerwünschte nichtdeterministische Effekte sowie Verklemmungen vermeiden. Sie kennen und verstehen Sicherheitsrisiken, die in nichtsequentiellen Programmen entstehen können und können Methoden einsetzen, diese zu vermeiden. Sie können Eigenschaften von Prozessen und Threads formal spezifizieren und diese exemplarisch verifizieren.

Die Studentinnen und Studenten können relevante Interaktionsparadigmen wie Client/Server und Peer-to-Peer unterscheiden und eigene Anwendungen nach diesen Paradigmen geeignet einordnen und verteilte Systeme auf der Basis von Interprozesskommunikation und Fernaufrufen konstruieren. Sie können Webanwendungen, Kunde-/ Dienstleister-Anwendungen, Peer-to-Peer Anwendungen geeignet entwerfen, strukturieren und realisieren und verteilte Systeme mit Hilfe geeigneter Middleware entwickeln.

Inhalte

Programmieren und synchronisieren von gleichzeitig laufenden Prozessen, die auf gemeinsamen Speicher zugreifen oder über Nachrichtenaustausch interagieren.

  • Nichtsequentielle Programme und Prozesse in ihren verschiedenen Ausprägungen, Nichtdeterminismus, Determinierung
  • Synchronisationsmechanismen: Sperren, Monitore, Wachen, Ereignisse, Semaphore
  • Nichtsequentielle Programmausführung und Objektorientierung
  • Ablaufsteuerung, Auswahlstrategien, Prioritäten, Umgang mit und Vermeidung von Verklemmung
  • Koroutinen, Implementierung, Mehrprozessorsysteme
  • Interaktion über Nachrichten, Sicherheitsaspekte von Anwendungen im Netzwerk
  • Programmieren und synchronisieren von gleichzeitig laufenden Prozessen, die über Nachrichtenaustausch interagieren
  • Fernaufruftechniken
  • Client-Server, Peer-to-Peer
  • Parallelrechnen im Netz
  • Koordinierungssprachen, Orchestrierung, Choreographie
  • Verarbeitung auf dem Server und auf dem Client, Mobilität
  • Middleware, strukturierte Kommunikation, statische und dynamische Schnittstellen
  • Ereignisbasierte und strombasierte Verarbeitung
  • Sicherheit von Anwendungen im Netzwerk, Absicherung der Protokolle
  • Ausblick auf nichtfunktionale Eigenschaften (Zeit, Speicher, Dienstgüte)

Kenntnisse des Moduls „Algorithmen, Datenstrukturen und Datenabstraktion“ werden vorausgesetzt. Im Selbststudium erwerben die Studentinnen und Studenten Kenntnisse über Betriebssysteme, die im Zusammenhang mit nichtsequentieller Programmierung stehen (etwa Pipelining, Cache, Speicherhierarchie, Unterbrechungsbehandlung, Puffer, Prozesse/Threads)

Lehr- und LernformenAktive Teilnahme
Vorlesung
4 SWS
Teilnahme empfohlen

Schriftliche Bearbeitung der Übungsblätter Mündliche Präsentation der Lösungen von Übungsaufgaben in den Übungen

Übung
2 SWS
verpflichtete Teilnahme

Schriftliche Bearbeitung der Übungsblätter Mündliche Präsentation der Lösungen von Übungsaufgaben in den Übungen

Aufwand

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

Differenzierte Bewertung
differenzierte Bewertung

Modulsprache
Deutsch
Arbeitsaufwand (Stunden)
300
Leistungspunkte (LP)
10
Dauer des Moduls
Ein Semester
Häufigkeit des Angebots
Jedes Sommersemester
Verwendbarkeit

Bachelorstudiengang Informatik für das Lehramt, 60-LP-Modulangebot Informatik