News
Klausureinsicht IIGeschrieben am 23.10.18 von Timo Philipp Gros Liebe Studierende, nachdem wegen technischer Probleme des Mailservers unsere Tutoren die letzte Klausureinsicht weitestgehend in Einsamkeit verbracht haben, starten wir nun einen zweiten Versuch. Die zweite Klausureinsicht findet am Montag, den 29.10.18, von 9 bis 11 Uhr in Gedäude E1 3… Weiterlesen Liebe Studierende, nachdem wegen technischer Probleme des Mailservers unsere Tutoren die letzte Klausureinsicht weitestgehend in Einsamkeit verbracht haben, starten wir nun einen zweiten Versuch. Die zweite Klausureinsicht findet am Montag, den 29.10.18, von 9 bis 11 Uhr in Gedäude E1 3 Hörsaal II (0.02.1) statt. Erneute Grüße, |
KlausureinsichtGeschrieben am 16.10.18 (letzte Änderung am 22.10.18) von Timo Philipp Gros Liebe Studierende, die Klausureinsicht findet am Montag, den 22.10.18, von 9 bis 11 Uhr in Gedäude E1 3 Hörsaal II (0.02.1) statt. Viele Grüße, |
Ergebnisse der NachklausurGeschrieben am 10.10.18 von Timo Philipp Gros Liebe Studierende, wir haben die Bewertung der Nachklausur nun abgeschlossen. Sie finden Ihre Punktzahl auf Ihrer persönlichen Statusseite im MosiCMS. Dort finden Sie auch diverse Statistiken. Die Bestehensgrenze von Nachklausur T liegt bei 30.0 Punkten. Die Bestehensgrenze von Nachklausur… Weiterlesen Liebe Studierende, wir haben die Bewertung der Nachklausur nun abgeschlossen. Sie finden Ihre Punktzahl auf Ihrer persönlichen Statusseite im MosiCMS. Dort finden Sie auch diverse Statistiken. Die Bestehensgrenze von Nachklausur T liegt bei 30.0 Punkten. Die Bestehensgrenze von Nachklausur A liegt bei 30.5 Punkten. Sie können Ihre Note wie folgt bestimmen:
Sofern Sie das Modul „Nebenläufige Programmierung“ bereits in allen Aspekten erfolgreich absolviert haben, zeigt Ihnen das MosiCMS auch Ihre vorläufige Endnote an. Falls Sie Fragen haben, wenden Sie sich bitte an uns. Informationen zur Klausureinsicht werden wir rechtzeitig veröffentlichen. Viele Grüße, |
NachklausurenGeschrieben am 30.09.18 von Felix Freiberger Liebe Studierende, am Dienstag, den 02.10. schreiben wir wie angekündigt die Nachklausuren. Beide Nachklausuren werden je 60 Minuten dauern. Ihren Sitzplatz finden Sie nun auf Ihrer persönlichen Statusseite im Abschnitt „Klausur-Sitzplätze“. Falls Sie glauben, zu Unrecht keinen Platz… Weiterlesen Liebe Studierende, am Dienstag, den 02.10. schreiben wir wie angekündigt die Nachklausuren. Beide Nachklausuren werden je 60 Minuten dauern. Ihren Sitzplatz finden Sie nun auf Ihrer persönlichen Statusseite im Abschnitt „Klausur-Sitzplätze“. Falls Sie glauben, zu Unrecht keinen Platz zugewiesen bekommen zu haben, kontaktieren Sie uns bitte umgehend. Hilfsmittel sind nicht zugelassen. Finden Sie sich bitte rechtzeitig um 09:05 vor dem Hörsaal ein, sodass Sie genügend Zeit haben, Ihren Platz zu finden. Die Klausuren beginnen um 09:15, unabhängig davon, an welcher Klausur Sie teilnehmen. Falls Sie an beiden Klausuren teilnehmen, so finden diese nacheinander statt. Viele Grüße, |
Anmeldung zu den NachklausurenGeschrieben am 21.09.18 von Felix Freiberger Liebe Studierende, am Dienstag, dem 02.10., schreiben wir wie bereits angekündigt die Nachklausuren T und A. Die Nachklausuren werden zwischen 09:00 und 13:00 stattfinden, eine genaue Zeit werden wir rechtzeitig bekannt geben. Für diese Nachklausuren müssen Sie sich anmelden. Es sind zwei… Weiterlesen Liebe Studierende, am Dienstag, dem 02.10., schreiben wir wie bereits angekündigt die Nachklausuren T und A. Die Nachklausuren werden zwischen 09:00 und 13:00 stattfinden, eine genaue Zeit werden wir rechtzeitig bekannt geben. Für diese Nachklausuren müssen Sie sich anmelden. Es sind zwei Anmeldungen erforderlich:
Viele Grüße, |
Ergebnisse der ProjektabnahmenGeschrieben am 13.08.18 von Felix Freiberger Liebe Studierende, die Ergebnisse der Projektabnahmen sind nun auf Ihrer persönlichen Statusseite aufgeführt. Falls Sie die Abnahme nicht bestanden haben (und die Voraussetzungen für eine Nacharbeit erfüllen), müssen Sie nacharbeiten. Dazu laden Sie bis Montag, den 01.10.2018 eine ZIP-Datei ins… Weiterlesen Liebe Studierende, die Ergebnisse der Projektabnahmen sind nun auf Ihrer persönlichen Statusseite aufgeführt. Falls Sie die Abnahme nicht bestanden haben (und die Voraussetzungen für eine Nacharbeit erfüllen), müssen Sie nacharbeiten. Dazu laden Sie bis Montag, den 01.10.2018 eine ZIP-Datei ins MosiCMS hoch, die die folgenden Dateien und Dokumente enthält:
Informieren Sie Ihren Tutor, sobald Sie die Nacharbeit abgegeben haben. Wir werden die Nacharbeit dann bereits vor Ende der Abgabefrist bewerten und Ihnen Feedback geben. Wir werden die Nacharbeit ohne weitere Abnahme nur an Hand dieser Abgabe bewerten. Achten Sie deshalb unbedingt darauf, dass Sie alle in der Abnahme aufgefundenen Probleme beheben und die Änderungen so erklären, dass wir die Korrektheit Ihrer Abgabe nachvollziehen können. Bei Fragen dazu, welche Probleme Sie beheben müssen, prüfen Sie, ob Ihr Tutor Feedback im MosiCMS hinterlegt hat oder Ihnen eine E-Mail gesendet hat. Wenden Sie sich im Zweifelsfall direkt an Ihren Tutor. Wir empfehlen Ihnen dringend, die Nacharbeit zügig zu bearbeiten und abzugeben. Wenden Sie sich rechtzeitig an Ihren Tutor, falls Sie Fragen zur Nacharbeit haben. Viele Grüße, |
Die Nebenläufige Programmierung ist eine Pflichtvorlesung im Bachelor Informatik an der Universität des Saarlandes. Eine frühere Version dieser Vorlesung wurde mit dem Preis des Fakultätentages Informatik ausgezeichnet.
Die erste Vorlesung findet am Montag, dem 09. April 2018 statt.
Nebenläufige Programmierung
Multi-Cores und andere parallele Architekturen finden sich mittlerweile auf jedem Schreibtisch. Solche Systeme effizient und korrekt programmieren zu können, ist eine große Herausforderung. Das Ziel dieser Vorlesung ist, die Studenten mit der Theorie und Praxis des nebenläufigen Programmierens vertraut zu machen.
Publikum
Diese Vorlesung richtet sich in erster Linie an Studierende im Bachelor Informatik. Sie ist für diese ein Pflichtmodul, und ist laut Studienplan im 4. Fachsemester angesiedelt, kann jedoch bereits ab dem 2. Semester belegt werden. Einzige Voraussetzung ist die erfolgreiche Teilnahme an der Vorlesung Programmierung 1.
Wöchentliche Termine
Mo 14:15 - 16:00 | Vorlesung | Gebäude E1 3, Hörsaal 002 |
Di 10:15 - 12:00 | Vorlesung | Gebäude E1 3, Hörsaal 002 |
Mi 08:15 - 10:00 | Tutorien | Gebäude E1 3, SR014, SR015, SR016 |
Mi 10:15 - 12:00 | Tutorien | Gebäude E1 3, SR014, SR015, SR016 |
Achtung: Nicht in jeder Woche finden alle Termine statt. Nutzen Sie den Kalender für einen genauen Plan.
Klausurtermine
Klausur T | Montag, 28. Mai 2018, 14:00 - 16:00 |
Klausur A | Donnerstag, 09. August 2018, am Vormittag |
Nachklausur T | Dienstag, 02.10.2018, am Vormittag |
Nachklausur A | Dienstag, 02.10.2018, am Vormittag |
Registrierung
Die Registrierung für den Kurs ist nach der ersten Vorlesung bis Dienstag, 10.04.2018, 23:59 unter Anmeldung möglich. Details zum Übungsbetrieb erfahren Sie in der ersten Vorlesung.
Literatur
Zu den Vorlesungsmaterialien, die den Teilnehmern zur Verfügung gestellt werden, gehört ein Skript, welches den Inhalt der Vorlesung umfassend darstellt. Weiterführende Literatur findet sich hier.
Inhalt
- Nebenläufigkeit als Konzept
- Potentieller Parallelismus
- Tatsächlicher Parallelismus
- Konzeptioneller Parallelismus
- Nebenläufigkeit in der Praxis
- Objektorientierung
- Betriebssysteme
- Multi-core Prozessoren, Coprozessoren
- Programmierte Parallelität
- Verteilte Systeme (Client-Server, Peer-to-Peer, Datenbanken, Internet)
- Die Schwierigkeit von Nebenläufigkeit
- Ressourcenkonflikte
- Fairness
- Gegenseitiger Ausschluss
- Verklemmung (Deadlock)
- gegenseitige Blockaden (Livelock)
- Verhungern (Starvation)
- Grundlagen der Nebenläufigkeit
- Sequentielle Prozesse
- Zustände, Ereignisse und Transitionen
- Transitionssysteme
- Beobachtbares Verhalten
- Determinismus vs. Nicht-Determinismus
- Algebren und Operatoren
- CCS: Der Kalkül kommunizierender Prozesse
- Konstruktion von Prozessen: Sequenz, Auswahl, Rekursion
- Nebenläufigkeit
- Interaktion
- Strukturelle operationelle Semantik
- Gleichheit von Beobachtungen
- Implementierungsrelationen
- CCS mit Datentransfer
- Programmieren von Nebenläufigkeit
- pseuCo
- Message Passing in pseuCo und Go
- Shared Memory in pseuCo und Java
- Monitore und Semaphoren
- Shared Objects und Threads in Java
- Shared Objects und Threads als Transitionssysteme
- Analyse und Programmierunterstützung
- Erkennung von Verklemmungen
- Zusicherung von Sicherheit und Lebendigkeit
- Model-Basiertes Design von Nebenläufigkeit
- Software-Architekturen für Nebenläufigkeit