Die Studierenden erhalten ein umfassendes theoretisches und praktisches Verständnis der Grundlagen und Konzepte der funktionalen Programmierung und lernen, diese auf ihre Eignung zur Lösung programmiertechnischer Aufgaben zu bewerten und angemessen und sinnvoll im funktionalen Programmierstil einzusetzen.
Die Vorlesung führt in die Prinzipien und Konzepte der funktionalen Programmierung ein und spannt dabei den Bogen von den Grundlagen bis zur Anwendung. In der vorlesungsbegleitenden Plenumsübung Haskell Live wird am Beispiel konkreter Aufgaben praktisch vorgeführt und diskutiert, wie sich diese zur Lösung einsetzen lassen. Dabei können insbesondere auch eigene Lösungsvorschläge vorgestellt und zur Diskussion gestellt werden. Im Laborübungsteil wird der funktionale Programmierstil anhand von Beispielen eigenständig angewendet und eingeübt und ein vertieftes auch praktisches Verständnis für die Konzepte und Prinzipien funktionaler Programmierung gewonnen. Als Demonstrations- und Implementierungssprache wird in Vorlesung und Übung die funktionale state-of-the-art Programmiersprache Haskell verwendet.
Die Vorlesung behandelt insbesondere folgende Themen und deren Umsetzung in Haskell:
- Funktionaler Programmierstil (Programme als Systeme rekursiver Rechenvorschriften)
- Lambda-Kalkül (Grundlage der semantischen Fundierung funktionaler Programmiersprachen)
- Auswertungsstrategien für Ausdrücke und Programme (eager evaluation, lazy evaluation)
- Rekursion und Rekursionstypen
- Funktionen höherer Ordnung (Programmieren mit Funktionen als Argument und Resultat)
- Polymorphie (parametrisch, ad-hoc)
- Typsysteme, Typinferenz (monomorph, polymorph)
- Ströme und Stromverarbeitung
- ...
Die Vorbesprechung zur Vorlesung findet am Freitag, den 01.10.2010, von 14:15 bis ca. 15:00 Uhr im Heinz-Parkus-Hörsaal 8 im Haupthaus am Karlsplatz statt! Unmittelbar anschließend findet von 15:00 Uhr bis 16:30 Uhr an gleicher Stelle die erste Vorlesung statt.