News

Beaver meets Boni!

Geschrieben am 29.10.19 (letzte Γ„nderung am 30.10.19) von Holger Hermanns

Liebe Studierende,

wir haben uns entschlossen, insgesamt sieben Gruppen einen Bonus für deren jeweilige Bearbeitung des praktischen Projektes zuzuerkennen. Dies sind

  • die Gruppen "β„Œπ”¦π”€π”₯π”΄π”žαƒ§ 𝔱𝔬 β„Œπ”¬π”©π”€π”’π”―" sowie "Limace 🐌-🏠_" für effiziente Parallelisierung,
  • die Gruppen "π”ˆπ”΅π”­π”©π”¬π”°π”¦π”¬π”« π”π”žπ”€π”’π”°",… Weiterlesen

Liebe Studierende,

wir haben uns entschlossen, insgesamt sieben Gruppen einen Bonus für deren jeweilige Bearbeitung des praktischen Projektes zuzuerkennen. Dies sind

  • die Gruppen "β„Œπ”¦π”€π”₯π”΄π”žαƒ§ 𝔱𝔬 β„Œπ”¬π”©π”€π”’π”―" sowie "Limace 🐌-🏠_" für effiziente Parallelisierung,
  • die Gruppen "π”ˆπ”΅π”­π”©π”¬π”°π”¦π”¬π”« π”π”žπ”€π”’π”°", "sher.lock();try{holmes();}finally{sher.unlock();}", sowie "FnF: Schokomilch -> Java" für effektives Vorarbeiten.
  • die Gruppen ">3.67% Speedup" sowie "Knock Knock. Data Race. Who's there?" für vorbildliche Dokumentation.

Herzlichen Glückwunsch an all diese Gruppen!

Außerdem sind wir sehr glücklich darüber, dass unsere Vorlesung Nebenläufige Programmierung mit dem Busy Beaver als beste Grundvorlesung im Sommer 2019 ausgezeichnet wurde.

Vielen Dank dafür, denn die Basis ist Ihr Feedback in der Evaluation!

Viele Grüße,

das Team der Nebenläufigen Programmierung

Ergebnisse der Klausureinsicht

Geschrieben am 25.10.19 von Felix Freiberger

Liebe Studierende,

die Ergebnisse der Klausureinsicht sind jetzt im dCMS eingetragen.

Viele Grüße,
das Team der Nebenläufigen Programmierung

Nachklausuren: Klausureinsicht

Geschrieben am 16.10.19 von Maximilian KΓΆhl

Liebe Studierende,

Sie können am Mittwoch, den 23.10., von 9:30 bis 10:30 Uhr Einsicht in die Klausurkorrektur nehmen.

Die Einsicht findet in Raum 206 in E1.1 statt.

Bitte denken Sie an Ihren Studierendenausweis.

Viele Grüße,
das Team der Nebenläufigen Programmierung

Ergebnisse der Nachklausuren

Geschrieben am 13.10.19 von Felix Freiberger

Liebe Studierende,

wir haben die Bewertung der Nachklausuren nun abgeschlossen. Sie finden Ihre Punktzahlen auf Ihrer persönlichen Statusseite.

Die Bestehensgrenzen liegen für Nachklausur T bei 31,5 Punkten, für Nachklausur A bei 32 Punkten. Mit diesen Punktzahlen haben Sie bereits… Weiterlesen

Liebe Studierende,

wir haben die Bewertung der Nachklausuren nun abgeschlossen. Sie finden Ihre Punktzahlen auf Ihrer persönlichen Statusseite.

Die Bestehensgrenzen liegen für Nachklausur T bei 31,5 Punkten, für Nachklausur A bei 32 Punkten. Mit diesen Punktzahlen haben Sie bereits bestanden.

Aus der Klausurpunktzahl ergibt sich jeweils auch Ihre Note. Sie können Ihre Note wie folgt bestimmen:

Ihre Endnote für das Modul „Nebenläufige Programmierung“ ergibt sich aus dem arithmetischen Mittel der jeweils besten Modulnoten für Module T und A durch Runden auf herkömmliche Notenstufen und Subtrahieren eventueller Boni. Diese Note wird auch auf Ihrer persönlichen Statusseite angezeigt. Beachten Sie jedoch, dass über die Projekt-Boni noch nicht abschließend entschieden ist. Wir arbeiten dran.

Sie können in die Korrekturen Einsicht nehmen. Den Termin dafür werden wir rechtzeitig ankündigen.

Viele Grüße,
das Team der Nebenläufigen Programmierung

Nachklausuren

Geschrieben am 08.10.19 von Felix Freiberger

Liebe Studierende,

am morgigen Mittwoch, den 09.10. schreiben wir wie angekündigt die Nachklausuren. Die Klausuren werden je 60 Minuten dauern.
Nachklausur T wird um 10:00 beginnen, Nachklausur A voraussichtlich um 11:15.

Im dCMS finden Sie nun auf ihrer persönlichen… Weiterlesen

Liebe Studierende,

am morgigen Mittwoch, den 09.10. schreiben wir wie angekündigt die Nachklausuren. Die Klausuren werden je 60 Minuten dauern.
Nachklausur T wird um 10:00 beginnen, Nachklausur A voraussichtlich um 11:15.

Im dCMS finden Sie nun auf ihrer persönlichen Statusseite Ihre Sitzplätze. Falls Sie glauben, einen Platz zu Unrecht nicht zugewiesen bekommen zu haben, kontaktieren Sie uns bitte umgehend.

Hilfsmittel sind nicht zugelassen.

Finden Sie sich bitte rechtzeitig um 09:45 für Nachklausur T / um 11:00 für Nachklausur A vor Ihrem Hörsaal ein, sodass Sie genügend Zeit haben, Ihren Platz zu finden.

Viele Grüße,
das Team der Nebenläufigen Programmierung

Anmeldung zu den Nachklausuren

Geschrieben am 30.09.19 von Felix Freiberger

Liebe Studierende,

am Mittwoch, dem 09.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 Mittwoch, dem 09.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:

  • Wenn Sie an der Nachklausur T teilnehmen wollen, melden Sie sich dazu auf Ihrer persönlichen Statusseite an und lesen Sie weiter.
  • Wenn Sie an der Nachklausur A teilnehmen wollen, melden Sie sich dazu auf Ihrer persönlichen Statusseite an und lesen Sie weiter.
  • Wenn Sie an einer der Nachklausuren teilnehmen wollen, weil Sie die zugehörige Hauptklausur nicht bestanden haben oder Ihre Note verbessern wollen, und Ihr Studiengang HISPOS verwendet, müssen Sie sich zusätzlich im LSF für den 2. Prüfungstermin anmelden, da dies als zweiter Versuch gewertet wird. Falls Sie dagegen ausschließlich an Nachklausuren teilnehmen wollen, bei denen Sie an der zugehörigen Hauptklausur nicht teilnehmen konnten und bereits mit uns vereinbart haben, dass Sie ersatzweise die Nachklausur schreiben, genügt die Anmeldung im dCMS.

Die Frist für die Anmeldung im LSF ist der 02.10., für die Anmeldung im dCMS endet die Frist am 03.10.

Viele Grüße,
das Team der Nebenläufigen Programmierung

Ergebnisse der Projektabnahmen

Geschrieben am 09.08.19 von Felix Freiberger

Liebe Studierende,

die Ergebnisse der Projektabnahmen sind nun auf Ihrer persönlichen Statusseite aufgeführt. Falls Sie die Abnahme bestanden haben, sehen Sie dort nun auch Ihre vorläufige Endnote des Moduls Nebenläufige Programmierung. Falls Sie die Abnahme nicht bestanden haben (und die… Weiterlesen

Liebe Studierende,

die Ergebnisse der Projektabnahmen sind nun auf Ihrer persönlichen Statusseite aufgeführt. Falls Sie die Abnahme bestanden haben, sehen Sie dort nun auch Ihre vorläufige Endnote des Moduls Nebenläufige Programmierung. Falls Sie die Abnahme nicht bestanden haben (und die Voraussetzungen für eine Nacharbeit erfüllen), müssen Sie nacharbeiten. Wir erwarten dazu bis Dienstag, den 01.10.2019 in Ihrem Repository:

  • Ihre korrigierte Implementierung. Achten Sie weiterhin darauf, dass Ihr Code angemessen kommentiert und insgesamt selbsterklärend ist.
  • Ihre (gegebenenfalls aktualisierte) Dokumentation.

Informieren Sie Ihren Tutor, sobald Sie die Nacharbeit abgegeben haben. Senden Sie Ihrem Tutor dabei auch ein zusätzliches kleines Dokument, in dem Sie die Änderungen im Vergleich zur ursprünglichen Abgabe auflisten und kurz erklären. 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, wenden Sie sich 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,
das Team der Nebenläufigen Programmierung

Ergebnisse von Klausur A

Geschrieben am 07.08.19 von Felix Freiberger

Liebe Studierende,

wir haben die Bewertung der Hauptklausur A nun abgeschlossen. Sie finden Ihre Punktzahl auf Ihrer persönlichen Statusseite.

Die Bestehensgrenze liegt bei 27 Punkten, mit dieser Punktzahl haben Sie bereits bestanden.

Aus der Klausurpunktzahl ergibt sich auch Ihre Note für… Weiterlesen

Liebe Studierende,

wir haben die Bewertung der Hauptklausur A nun abgeschlossen. Sie finden Ihre Punktzahl auf Ihrer persönlichen Statusseite.

Die Bestehensgrenze liegt bei 27 Punkten, mit dieser Punktzahl haben Sie bereits bestanden.

Aus der Klausurpunktzahl ergibt sich auch Ihre Note für das Modulelement A. Sie können Ihre Note wie folgt bestimmen:

Bitte beachten Sie, dass die Note des Modulelements A von uns nicht gerundet wird. Ihre Endnote für das Modul „Nebenläufige Programmierung“ ergibt sich aus dem arithmetischen Mittel der beiden Modulnoten durch Runden auf herkömmliche Notenstufen und Subtrahieren eines eventuellen Bonus.

Sie können in die Korrektur Einsicht nehmen. Den Termin dafür werden wir rechtzeitig ankündigen.

Viele Grüße,
das Team der Nebenläufigen Programmierung

Show all

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 (vorläufig)

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  
Mi 10:15 - 12:00 Tutorien  

 

Achtung: Nicht in jeder Woche finden alle Termine statt. Nutzen Sie den Kalender für einen genauen Plan.

Die erste Vorlesung findet am Montag, dem 8. April 2019 statt.


Klausuren

  • Klausur T: 21.05.2019, 10:15 Uhr
  • Klausur A: 06.08.2019, 10:15 Uhr
  • Nachklausur T: 09.10.2019, Vormittag
  • Nachklausur A: 09.10.2019, Vormittag 

Registrierung

Die Registrierung für den Kurs ist nach der ersten Vorlesung 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
Datenschutz | Impressum
Bei technischen Problemen wenden Sie sich bitte an die Administratoren.