Die Vorlesung führt in grundlegende Prinzipien der Programmierung und der Datenmodellierung mit einer funktionalen Programmiersprache ein. Die wesentlichen Themen sind: Datentypen, Funktionen und Rekursion, Auswertung und Terminierung von Programmen, Typsysteme und Typinferenz, Polymorphie und Typklassen, Semantik von Programmiersprachen. Dabei wird auf begriffliche Klarheit und präzise mathematische Fundierung mit formalen Methoden Wert gelegt.