News
Ergebnisse der NachklausurenGeschrieben am 10.10.16 von Holger Hermanns Liebe Studierende, wir haben die Bewertung der Nachklausuren nun abgeschlossen. Sie finden Ihre Punktzahl auf Ihrer persönlichen Statusseite im dCMS. Dort finden Sie auch diverse Statistiken. Die Bestehensgrenzen sind identisch zu den Bestehensgrenzen der entsprechenden Hauptklausuren,… Weiterlesen Liebe Studierende, wir haben die Bewertung der Nachklausuren nun abgeschlossen. Sie finden Ihre Punktzahl auf Ihrer persönlichen Statusseite im dCMS. Dort finden Sie auch diverse Statistiken. Die Bestehensgrenzen sind identisch zu den Bestehensgrenzen der entsprechenden Hauptklausuren, ebenso die jeweiligen Notenberechnungen. Sofern Sie das Modul nun in allen Aspekten erfolgreich absolviert haben 🎉, sollte Ihnen das dCMS auch Ihre aktualisierte Endnote anzeigen. Falls Sie Fragen haben, wenden Sie sich bitte an uns. Zur Einsichtnahme in die Nachklausuren bieten wir den kommenden Freitag (14. Oktober) an, von 10:00 bis 11:00 in E1 3, Raum 528. Viele Grüße, |
NachklausurenGeschrieben am 29.09.16 (letzte Änderung am 29.09.16) von Felix Freiberger Liebe Studierende, am Dienstag, dem 04.10. schreiben wir wie angekündigt die Nachklausuren. Beide Klausuren werden je 60 Minuten dauern. Die Nachklausur T beginnt pünktlich um 11:00, die Nachklausur A voraussichtlich um 12:15. Im dCMS finden Sie in den Materialien nun Sitzpläne für beide… Weiterlesen Liebe Studierende, am Dienstag, dem 04.10. schreiben wir wie angekündigt die Nachklausuren. Beide Klausuren werden je 60 Minuten dauern. Die Nachklausur T beginnt pünktlich um 11:00, die Nachklausur A voraussichtlich um 12:15. Im dCMS finden Sie in den Materialien nun Sitzpläne für beide Klausuren. Finden Sie sich bitte 10 Minuten vor geplantem Beginn der Klausur vor dem Günter-Hotz-Hörsaal ein, damit Sie Ihren Platz rechtzeitig einnehmen können. Viele Grüße, |
Ergebnisse der ProjektabnahmeGeschrieben am 17.08.16 (letzte Änderung am 29.09.16) von Felix Freiberger Liebe Studierende, die Ergebnisse der Projektabnahmen sind nun auf der persönlichen Statusseite aufgeführt. Falls Sie die Abnahme nicht bestanden haben, müssen Sie nacharbeiten. Dazu laden Sie bis Freitag, den 07.10.2016 eine ZIP-Datei ins dCMS hoch, die die folgenden Dateien und Dokumente… Weiterlesen Liebe Studierende, die Ergebnisse der Projektabnahmen sind nun auf der persönlichen Statusseite aufgeführt. Falls Sie die Abnahme nicht bestanden haben, müssen Sie nacharbeiten. Dazu laden Sie bis Freitag, den 07.10.2016 eine ZIP-Datei ins dCMS hoch, die die folgenden Dateien und Dokumente enthält:
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. Viele Grüße, |
Dies ist eine Pflichtvorlesung im Bachelor Informatik an der Universität des Saarlandes.
Sie wurde ausgezeichnet mit dem Preis des Fakultätentages Informatik 2013.
Nebenläufige Programmierung
Multi-Cores und andere parallele Architekturen (zum Beispiel Graphikprozessoren) finden sich mittlerweile auf jedem Schreibtisch. Solche Systeme effizient programmieren zu können, ist eine große Herausforderung. Glaubt man den Vorhersagen der Hardware-Hersteller, wird dies schon bald zum Alltag eines jeden Informatikers gehören.
Leider ist das Programmieren von solchen nebenläufigen Systemen extrem schwierig. Dies hat fundamentale und praktische Gründe.
Ziel dieser Vorlesung ist, die Studenten mit der Theorie und Praxis des nebenläufigen Programmierens vertraut zu machen. Eine große Aufgabe, ohne Frage.
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 Vorraussetzung 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 - 08:30 | Freiversuche | im Regelfall Gebäude E1 3, Hörsaal 002 |
Mi 08:35 - 10:05 | Tutorien | Gebäude E1 3, SR014, SR015, SR016 |
Mi 10:15 - 10:30 | Freiversuche | im Regelfall Gebäude E1 3, Hörsaal 002 |
Mi 10:35 - 12:05 | Tutorien | Gebäude E1 3, SR014, SR015, SR016, SR107 |
Achtung: Nicht in jeder Woche finden alle Termine statt. Nutzen Sie den Kalender für einen genauen Plan. Die Midterm-Klausur findet an einem Montag an Stelle einer Vorlesung statt.
Die erste Vorlesung findet am Montag, dem 18. April 2016 statt.
Registrierung
Die Registrierung für den Kurs ist nach der ersten Vorlesung unter Anmeldung bis Samstag, den 23. April 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