[Uni-Passau] [FMI] [Infosun] [Lehrstuhl für Programmierung] [Lehrtätigkeit]

Funktionale Programmierung (WS 05/06)

Zeit Ort
Vorlesung Mo., 17:00-18:40 (mit Pause) IM 030
Di., 12:15-13:00 IM, HS 11
Übung Mi., 12:00-13:30 IM 010
alle Zeiten sind minutengenau (nicht c.t.)

Klausuren:

es gibt zwei Klausuren, deren Punktesumme über den Schein und die Note entscheidet.
  1. Teil (40%): 12.12.2005, 18:00-19:00, HS 13 IM.
  2. Teil (60%): 10.02.2006, 10:00-12:00, 010 IM, Rechnerklausur.
Die Teilnehmer des ersten Teils sind automatisch für die Rechnerklausur angemeldet.
Logo

Übersicht

Nachrichtenkasten

[Eintragsdatum:]Nachricht

Vorlesungsplan, Folien und Ergänzungsmaterialien



Kapitel:
  1. [18.10.,20.10.] Einführung
  2. [20.10.-31.10.] Grundlegende Elemente der Sprache Haskell
  3. [31.10.-07.11.] Programmierung mit Kombinatoren
  4. [07.11.-21.11.] Beweis und Herleitung von Programmen
  5. [21.11.-28.11.] Lambda-Kalkül und Laziness
  6. [28.11.-05.12.] Interpretation, abstrakte Interpretation, Typinferenz
    Beispielprogramme
  7. [05.12.-13.12.] Monaden
  8. [19.12.-20.12.] Effizienzaspekte
    Beispielprogramme
  9. [09.01.-10.01.] Parsing mit Kombinatoren und Generatoren
    Beispielprogramme
  10. [16.01.-23.01.] Metaprogrammierung in Template-Haskell und MetaOCaml
    Beispielprogramme:
  11. [24.01.-31.01.] Funktionale Hardware-Spezifikation und -Simulation
  12. [06.02.-07.02.] Parallelisierung funktionaler Sprachen

Übungsmaterialien



Schein zur Vorlesung

Es gibt zwei Klausuren, deren Punktesumme über den Schein und die Note entscheiden: eine in der ersten Dezemberhälfte, die andere am Ende der Vorlesungszeit (Mitte Februar).

Literatur

Hinweis: wenn Sie sich in den Semesterferien bereits mit Haskell befassen möchten, sollten Sie sich an die genannte Einstiegsliteratur von Simon Thompson "Haskell: The Craft of Functional Programming" halten. Es gibt einige andere Bücher, die zum vorbereitenden Selbststudium nicht geeignet sind, weil sie (1) zu trivial sind und den Sinn funktionaler Programmierung nicht erkennen lassen, oder (2) zu mathematisch und zu wenig programmiersprachlich ausgerichtet sind, oder (3) versuchen, die aus der imperativen Programmierung bekannte Manipulation von Datenstrukturen nachzubilden und funktionale Konzepte vernachlässigen. Die angegebene Literatur verwendet nur einen kleinen Teil der Sprache Haskell, der zudem nicht auf dem neuesten Stand ist. Eine wesentlich umfangreichere Beschreibung der Möglichkeiten von Haskell findet sich auf folgenden WWW-Seiten:

Tools zur Programmentwicklung

Zur Bearbeitung der Übungsaufgaben werden folgende Tools gebraucht, die auf den Linux-Rechnern im CIP-Pool installiert sind. Vielen Dank an die Systembetreuer des CIP-Pools! Die Tools sind ausnahmslos public-domain Software und unter den folgenden WWW-Seiten verfügbar.

Grafische Bedienoberflächen (GUIs) in funktionalen Programmen

Es gibt zwei wichtige Tools zur GUI-Programmierung für Haskell, bei denen die Abstraktion der funktionalen Programmierung auch bei der Grafikprogrammierung zur Geltung kommt: In den Rechnerübungen wird Gtk2Hs verwendet.

Hintergrundinformationen

Wissenschaftler, deren Namen in der Vorlesung erwähnt wird


Christoph Herrmann
Last modified: Mon Feb 13 16:52:41 CET 2006