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