Inhalte:
Grundlagen der Berechenbarkeit (Lambda-Kalkül, primitive Rekursion, μ-Rekursion). Einführung in die Funktionale Programmierung (Syntax, 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 Pro- grammeigenschaften (Termersetzung, strukturelle Induktion, Terminierung). Implementierung und Programmier- technik (Auswertungsstrategien für funktionale Programme, modularer Programmentwurf).