Contents
Description |
Moderne Softwaresysteme bestehen zunehmend aus mehreren, gleichzeitig arbeitenden und oft geographisch verteilten Komponenten, die miteinander kooperieren, kommunizieren, bzw. konkurrieren. Um diese Zusammenarbeit korrekt und effizient zu organisieren, rücken in Anwendungen die Konzepte der Nebenläufigkeit, Parallelität und Verteiltheit in den Vordergrund, die früher vor allem in Betriebssystemen und Supercomputern benutzt wurden. Die Vorlesung befasst sich mit den Konzepten und Mechanismen für Nebenläufigkeit, Verteiltheit und Kommunikation. Unser Ziel ist, eine ausgewogene Mischung von Theorie und Praxis zu vermitteln. Theoretische Modelle und systematische Konzepte werden mit Java-Programmen veranschaulicht. Wir werden zwei Schwerpunkte aus dem Java-Umfeld behandeln: Multithreading und Networking. Die in der Vorlesung eingeführten Begriffe und Lösungen werden in den Übungen an konkreten Beispielen erprobt. Weiterhin werden die aktuellen Neuerungen der Programmiersprache Java bzgl. Nebenläufigkeit (Java 5 concurrency APIs) behandelt. |
Literature |
Magee, J. & Kramer, J.: Concurrency. Wiley, 2003 |
Remarks |
Für den Lernerfolg sind Vorkenntnisse in Java, Softwaretechnik und Parallelprogrammierung zwar hilfreich, aber keine strikte Voraussetzung und können bei aktiver Mitarbeit in der Vorlesung und Übung nachgeholt werden.
Vorlesungstermin: Mittwoch 16:00 - 18:00 Uhr Übungstermin: Montag 10:00 - 12:00 Uhr
Erster Vorlesungstermin: 22.10.2008 Erster Übungstermin: 27.10.2008 Klausurtermin: 04.02.2009 |
Prerequisites |
Vordiplom |
Certificates |
Klausur und Lösung der Übungsaufgaben |
Target Group |
Die Veranstaltung ist folgenden Prüfungsleistungen zugeordnet:
Diplom Informatik: Hauptstudium - Programmiersprachen und ihre Implementierung (benotet, 6 CP)
Diplom Informatik: Hauptstudium - Systemstrukturen (benotet, 6 CP)
Diplom Informatik: Hauptstudium - Spezialisierung und Vertiefung |