Lehrveranstaltungen in der Informatik

Fortgeschrittene Funktionale Programmierung

Prof. Dr. J. Christiansen

zurück zurück

Inhalt

Die Ideen der funktionalen Programmierung halten zunehmend Einzug in die kommerzielle Software­entwicklung, wie zum Beispiel durch die Entwicklung der funktional objekt-orientierten Programmier­sprache Swift deutlich wird.

In der Vorlesung lernen Sie die Prinzipien und Entwicklungs­muster der funktionalen Programmierung anhand der stark-getypten, rein-funktionalen Programmiersprache Haskell kennen. Neben Grundlagen wie Lazy Evaluation, Higher-Order Functions und Polymorphismus werden Abstraktions­mechanismen wie Monoide, Funktoren und Monaden vorgestellt.

Am Ende arbeiten Sie sich eigenständig in ein fortgeschrittenes Thema Ihrer Wahl ein. Mögliche Themen sind zum Beispiel: funktionale Datenstrukturen, typsichere Webentwicklung (PureScript/Elm, Servant), freie Theoreme, Grundlagen der Kategorientheorie.

Organisation

Vorlesung / Labor  4-std.

Sprache: deutsch

Präsenzstudium: 60 h, Eigenstudium: 120 h
Gesamtaufwand: 180 h

Leistungspunkte (credit points): 6

Vorbedingungen: keine

Prüfung: PL (HA, Vortr, MP)

Lernvoraussetzungen

Obwohl die Vorlesung "fortgeschritten" heißt, werden alle Konzepte von Grund auf eingeführt; es werden keinerlei Kenntnisse in der funktionalen Programmierung vorausgesetzt. Es wird jedoch erwartet, dass Sie bereits praktische Erfahrungen in der Programmierung in anderen Programmier­sprachen wie JavaScript, Java oder C# mitbringen und somit in der Lage sind, schnell eine neue Programmier­sprache zu erlernen.

Lernziele

Sie kennen die Prinzipien und Entwicklungsmuster der funktionalen Programmierung und können diese selbstständig anwenden. Sie können Probleme mithilfe der funktionalen Programmier­sprache Haskell lösen. Sie sind außerdem in der Lage, sich selbstständig in ein fortgeschrittenes Thema im Bereich der funktionalen Programmierung einzuarbeiten.

Literatur

M. Lipovaca: Learn You a Haskell for Great Good!. No Starch Press (2011)

B. O'Sullivan, J. Goerzen, D.B. Stewart: Real World Haskell. O'Reilly (2010)