Fortgeschrittene Techniken der Funktionalen Programmierung
Willkommen auf der Heimatseite der Lehrveranstaltung „Funktionale Techniken der Fortgeschrittenenen Programmierung“ im Wintersemester 2009/2010.
Inhaltliches
Generelles Thema der Veranstaltung sind Techniken, die benötigt werden, um in einer funktionalen Sprache (hier Haskell) ernsthafte Programme zu schreiben. Hierbei erlaubt es uns die Flexibilität und Abstraktion der funktionalen Programmierung, moderne Programmiermethodiken kennenzulernen, ohne jedesmal eine neue Sprache zu lernen oder sich durch einen hohen Stapel Bücher arbeiten zu müssen.
The future is now, the future is functional.
Organisatorisches
Die VAK der Veranstaltung ist 03-05-H-705.53.
Termine
Die Vorlesung ist Dienstags 8-10 im MZH 7250; die Übung ist Donnerstags von 10-12 im MZH 7210.
Achtung: Die Übungen am 22.10. und am 05.11. entfallen!
Scheinkriterien
In der ersten Vorlesung wurden folgende Scheinkriterien beschlossen:
- Von den fünf ausgegebenen Übungsblättern müssen alle bearbeitet werden, mit einem Gesamtdurchschnitt von 40%.
- Es gilt der Notenspiegel von PI3 im WS089/09.
- Die Individualität der Leistung wird gegebenfalls sichergestellt durch ein Fachgespräch am Ende des Semesters.
Fortsetzung
Auf mehrfachen Wunsch wird im nächsten Semester eine Folgeveranstaltung namens Fortgeschrittene Anwendungen der Funktionalen Programmierung angeboten. Kommet in Scharen!
Vorlesungsfolien
Die Vorlesungsfolien sind jeweils verfügbar als ganzseitiges PDF zum Betrachten, oder als 8:1 Handzettel ohne Effekte zum Drucken:
- Alle Vorlesungen in einer Datei: [Folien] [Handzettel]
- Vorlesung vom 20.10.09: [Folien] [Handzettel]
- Vorlesung vom 27.10.09: [Folien] [Handzettel]
- Vorlesung vom 03.11.09: [Folien] [Handzettel]
- Vorlesung vom 10.11.09: [Folien] [Handzettel]
Dazu die Beispiele (oder alles in einem):- Definition der Operatoren: Opn.hs;
- Erste Ausbaustufe: Eval1.hs, Beispiele: Examples1.hs;
- Zweite Ausbaustufe: Eval2.hs, Beispiele: Examples2.hs;
- Dritte Ausbaustufe: Eval3.hs, Beispiele: Examples3.hs;
- Vierte Ausbaustufe: Eval4.hs, Beispiele: Examples4.hs.
- Vorlesung vom 17.11.09: [Folien] [Handzettel]
- Vorlesung vom 24.11.09: [Folien] [Handzettel]
- Vorlesung vom 01.12.09: [Folien] [Handzettel] mit den Beispielen
- Vorlesung vom 08.12.09: [Folien] [Handzettel] mit den Beispielen
- Vorlesung vom 15.12.09: [Folien] [Handzettel] mit den Beispielen
- Vorlesung vom 05.01.10: [Folien] [Handzettel] mit den Beispielen
- Vorlesung vom 19.01.10: [Folien] [Handzettel] mit den Beispielen
- Vorlesung vom 26.01.10: [Folien] [Handzettel] mit den Beispielen
- Vorlesung vom 02.02.10: [Folien] [Handzettel] mit Beispiel
Übungsblätter
Hier finden sich die Übungsblätter zur Veranstaltung.
- 1. Übungsblatt, ausgegeben am 29.10.09, abzugeben am 11.11.09.
- 2. Übungsblatt, ausgegeben am 12.11.09, abzugeben am 03.12.09.
- 3. Übungsblatt, ausgegeben am 03.12.09, abzugeben am 16.12.09.
- 4. Übungsblatt, ausgegeben am 07.01.10, abzugeben am 21.01.10.
- 5. Übungsblatt, ausgegeben am 21.01.10, abzugeben am 04.02.10.
Zusatzmaterial für die Übungen
- Der Raumflugsimulator vom letzten Semester: Geometry.hs und Space.hs;
- Die dazugehörige Vorlesung: [Folien], [Handzettel]
- Zum Übersetzen werden zwei Büchereien benötigt:
- X11 (Linux) oder Win32 (Windows-- Warnung, nicht persönlich getestet)
- Zu Testzwecken: HGL 3.2.0.2 (sollte mit ghc-6.8 und 6.10 funktionieren)
tar xvzf HGL-3.2.0.1.tar.gz cd HGL-3.2.0.1 runhaskell Setup.hs configure runhaskell Setup.hs build sudo runhaskell Setup.hs install
- Material zum Tutorium vom 12.11: parser_tutorium.zip.
- Der Raumflugsimulator aus der Übung vom 14.01.10: space.zip
Literatur und Links
Wir verweisen natürlich auf die Bücher vom letzten Semester. Hier noch Bücher und Papiere, die darüber hinausgehen.
Bücher
Bryan O'Sullivan, Don Stewart, and John Goerzen:
Real World Haskell
O'Reilly, 2008.
Inhalt online verfügbar!