Titel und Nr.: Moderne Programmiermethoden ()
Umfang und Art: Hauptseminar, 2std. ()
Dozent: Prof. Lengauer und Mitarbeiter
ausgerichtet auf: Hauptstudium
Voraussetzungen: Vordiplom
Anrechenbar für: Säule Informatik I (Theorie)
Säule Informatik II (Anwendungen)
Säule Mathematik I (Theorie)
Säule Mathematik II (Anwendungen)
Nebenfach Informatik
Nebenfach Mathematik

Vertiefungsgebiet(e):

ja
nein
nein
nein
ja
nein

Methodik des Programmentwurfs

Inhalt: In diesem Seminar wird eine Auswahl von modernen Programmiermethoden und ihren technischen Grundlagen behandelt. Sie gliedert sich in drei Gebiete:
  • Metaprogrammierung, d.h. die Erstellung von Programmen, die Programme analysieren und manipulieren. Mit diesem Ansatz kann man vergleichsweise bequem Programmierprachen oder Spracherweiterungen implementieren, die den Gegebenheiten und Bedürfnissen spezieller Anwendungsgebiete Rechnung tragen (sog. domänenspezifische Programmiersprachen).
  • Grid-Programmierung. Das Grid ist das Internet, betrachtet als ein weltweiter verteilter Rechner. Die Erstellung flexibler und effizienter verteilter Programme und Services für das Grid erfordert besondere Techniken und Tricks der Parallelprogrammierung und Metaprogrammierung.
  • Feature-orientierte Programmierung, d.h. die sukzessive Erweiterung eines objektorientierten Programms um zusätzliche Funktionalität (sog. Features). Als Implementierungstechnik bedient man sich hier der Aspektorientierung, aber in einer eingeschränkten, "disziplinierten" Form. Feature-orientierte Programmierung kann auf bequeme Weise zu großen, verlässlichen Programmsystemen führen.

Auf der WWW-Seite zu diesem Seminar finden Sie eine Liste angebotener Thematiken. Sie sollten folgende Vorkenntnisse mitbringen:

  • Metaprogrammierung: Kenntnisse in funktionaler Programmierung. Günstig wäre die erfolgreiche Teilnahme an der Hauptstudiumsvorlesung von Christoph Herrmann.
  • Feauture-orientierte Programmierung: Kenntnisse in Java und Software Engineering. Günstig wären Grundkenntnisse in aspektorientierter Programmierung.
  • Programmparallelisierung: Kenntnisse in Parallelität. Günstig wäre die erfolgreiche Teilnahme an der Hauptstudiumsvorlesung "Parallelprogrammierung".
Literatur: Siehe die WWW-Seite zu diesem Seminar.
Anmerkungen: Keine.