Titel und Nr.: Funktionale Programmierung (5117)
Umfang und Art: 3V + 2Ü
Dozent: Christoph Herrmann
ausgerichtet auf: Studenten ab 5. Semester der Studiengänge Bachelor (Inf. alt/neu), Diplom (Inf.), Lehramt Inf. vertieft
Voraussetzungen: (empfohlen:) Interesse an alternativen Programmierkonzepten
Anrechenbar für: Bachelor

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

ja
nein
nein
nein
ja
nein

Methodik des Programmentwurfs

Inhalt: In der Vorlesung werden die wesentlichen Konzepte moderner funktionaler Programmierung am Beispiel der Programmiersprache Haskell vorgestellt. Polymorphie, Funktionen höherer Ordnung und das Typklassensystem erlauben es, komplexe Algorithmen durch relativ kurze Programme umzusetzen. Gegenüber der Vorlesung vor zwei Jahren werden einige Themen kürzer behandelt. Dafür werden aktuell wichtige Themen vorgestellt, für die es nun Compiler-Unterstützung gibt, z.B. die Metaprogrammierung, mit der man Programme automatisch an konkrete Aufgabenstellungen adaptieren kann.
Die Übungen bestehen aus einer SWS Diskussion und einer SWS Arbeit am Rechner. Dabei soll die funktionale Programmierung so weit erlernt werden, dass sie effektiv zum Lösen komplizierter Aufgabenstellungen eingesetzt werden kann.
Literatur: Leichter Einstieg in Haskell (für Teilnehmer ohne Vorkenntnisse)
Simon Thompson
Haskell: The Craft of Functional Programming,
Addison-Wesley, 2nd ed., 1999.

Hintergrund für die theoretischen Grundlagen
Peter Thiemann
Grundlagen der funktionalen Programmierung,
B.G. Teubner Stuttgart, 1994.

Spezialliteratur wird in der Vorlesung bekanntgegeben.