Funktionale Programmierung 2
Aufbauend auf den Inhalten des Moduls "Funktionale Programmierung" (1), werden in dieser Veranstaltung praktische, aber auch theoretische vertiefende Inhalte präsentiert, die die Studierenden in die Lage versetzen, umfangreiche, kommerziell nutzbare Software in Haskell schreiben zu können. Die konkreten Themen werden jeweils vorab individuell mit den Studierenden vereinbart. Mögliche Themen sind:
- Type families
- FFI
- GADTs
- Liquid Haskell
- Template Haskell
- GUI/Grafik
- Lenses
- Parallel Haskell
- GHC Core
- PureScript/Clojure/Elm/Elixier/Erlang
Lernziele
Durch erfolgreichen Abschluss der Lehrveranstaltung können die Studierenden:
- selbständiges Erarbeiten von funktionalen abstrakten Themen
- reale Anwendungen in Haskell implementieren
- Anwendung von funktionalen Aspekten in anderen Sprachen
- Aufbau und funktionsweise eines funktionalen Compilers verstehen
- Abstraktionen erkennen und ausnutzen
- Vor- und Nachteile von Laziness beurteilen
- Möglichkeiten von Typklassen einschätzen
Literatur
- Simon Marlow: ”Parallel and Concurrent Programming in Haskell”, O’Reilly Media, Inc., ISBN: 9781449335908, 2013
- Bryan O’Sullivan, Don Stewart, John Goerzen: ”Real World Haskell”, O’Reilly Media, Inc., 2008 (https://book.realworldhaskell.org/)
- https://wiki.haskell.org/Haskell
- Richard Bird: ”Pearls of Functional Algorithm Design”, Cambridge University Press, 2010
- Alejandro Serrano Mena: ”Practical Haskell - A Real World Guide to Programming”, Springer, 2019
- Chris Okasaki: ”Purely Functional Data Structure”, Cambridge University Press, 2008
Einordnung in Studiengänge
Master | ||||||||
---|---|---|---|---|---|---|---|---|
Studiengang | FSPO(s) | Einordnung | ||||||
Informatik | 2021, 2022 | Praktische (und Angewandte) Informatik, Software-Engineering und Compilerbau | ||||||
Medieninformatik | 2021, 2022 | Praktische (und Angewandte) Informatik | ||||||
Software Engineering | 2021, 2022 | (Advanced) Software Engineering, Praktische Informatik | ||||||
Künstliche Intelligenz | 2021, 2022 | Praktische (und Angewandte) Informatik | ||||||
Mathematik | 2018 | Informatik |
(Angaben ohne Gewähr)
Termine SS24
Vorlesung: Montag 12:00 (cct) - 14 Uhr in O28-1002
Übungen: Freitag 10:00 (st) - 12 Uhr in O27-4108