Die Vorlesung findet vorrangig in präsenz statt. Für Studierende, die nicht in Präsenz teilnehmen können, wird die Vorlesung via Webex übertragen.
Meeting Link: https://fu-berlin.webex.com/fu-berlin-en/j.php?MTID=m113f6d2912cbdbd0f456a6979a02407d
Meeting Nummer: 2733 546 1560
Passwort: q8ZbMaJJx52
Zugangsdaten für die online Tutorien
Grundlagen der Berechenbarkeit:
- Lambda-Kalkül
- primitive Rekursion
- µ-Rekursion
Einführung in die Funktionale Programmierung (Haskell):
- Syntax (Backus-Naur-Form)
- primitive Datentypen, Listen, Tupel, Zeichenketten
- Ausdrücke, Funktionsdefinitionen, Rekursion und Iteration
- Funktionen höherer Ordnung, Polymorphie
- Typsystem, Typherleitung und –überprüfung
- Algebraische und abstrakte Datentypen
- Ein- und Ausgabe
- Such- und Sortieralgorithmen
Beweisen von Programmeigenschaften:
- Termersetzung
- strukturelle Induktion
- Terminierung
Implementierung und Programmiertechnik:
- Auswertungsstrategien für funktionale Programme
- Modularer Programmentwurf
Literatur
- Miran Lipovača: Learn You a Haskell for Great Good!, no starch press, 2011 http://learnyouahaskell.com/chapters
- Marco Block, ; https://link.springer.com/book/10.1007/978-3-642-04718-3
- Simon Thompson: Haskell: The Craft of Functional Programming, 2nd Edition, Addison-Wesley, 1999
- Graham Hutton: Programming in Haskell, Cambridge University Press, 2007
- Bird, R./Wadler, Ph.: Einführung in Funktionale Programmierung, Hanser Verlag, 1982
- Hans Hermes: Aufzählbarkeit, Entscheidbarkeit, Berechenbarkeit, Springer-Verlag 1978