Modulcode: | BA5.4 |
Englische Bezeichnung: | Projektvorbereitungsmodul (Software Engineering for parallel and distributed Systems) |
Modulverantwortliche(r): | Prof. Dr. Wilhelm Hasselbring |
Turnus: | unregelmäßig |
Präsenzzeiten: | 2V 4PÜ |
ECTS: | 8 |
Workload: | 240 Std. |
Dauer: | ein Semester |
Modulkategorien: | BA5 (Sonstige) |
Lehrsprache: | Deutsch |
Voraussetzungen: |
Ausgehend von den Herausforderungen der nebenläufigen Programmierung werden insbesondere bewährte Muster für die parallele und verteilte Programmierung vertieft. Neben der Vorlesung werden die theoretischen Konzepte in den Übungen auf unterschiedlichen Hardware-Plattformen (Multicore, Rechner-Grid) umfassend vertieft.
Die Studierenden erlernen Softwaretechniken zur Entwicklung paralleler und verteilter Systeme. Insbesondere wird die praktische Umsetzung von etablierten Mustern der Programmierung paralleler und verteilter Systeme in den Übungen auf unterschiedlichen Hardware-Plattformen (Multicore, Rechner-Grid) erlernt.
Ein paralleles Programmiermodell liefert eine spezifische Sicht auf ein paralleles System, welches aus unterschiedlichen Sichten betrachtet werden kann. Unterscheidungskriterien sind z.B. die Ebene der Parallelität (Anweisung, Schleife, Funktion, Programmkomponente, Betriebssystemprozess etc.), die Art der Spezifikation (implizit vs. explizit, statische vs. dynamische Prozesserzeugung), die Art der Kommunikation (Nachrichten, gemeinsamer Speicher) und die Art der Synchonisation. Muster zur parallelen und verteilten Programmierung beschreiben dann wie die Programmiermodelle sinnvoll eingesetzt werden können.
Gute Programmierkenntnisse. Intersesse an einer Abschlussarbeit im Bereich Software Engineering.
Zwischenprüfungen zu den Übungen, mündliche Abschlussprüfung.
M. Ben-Ari: Principles of concurrent and distributed programming. Second edition. Addison-Wesley, 2006. %
Timothy G. Mattson, Beverly A. Sander, and Berna L. Massingill: Patterns for Parallel Programming. Addison-Wesley. Third edition, September 2007.
http://se.informatik.uni-kiel.de/