Funktionale Programmierung, Spezialvorlesung, WS2000/2001

Administratives

Vorlesung Übung
Dozent Prof. Dr. Peter Thiemann Simon Helsen
Email thiemann@informatik.uni-freiburg.de helsen@informatik.uni-freiburg.de
Zeit Mo 14-16 Mi 16-18 (nach Vereinbarung)
Ort SR 03-026, Geb. 051 SR 00-019, Geb. 079

Vorlesung

Übung

Inhalt

Die Vorlesung behandelt die Konzepte funktionaler Programmiersprachen anhand der Programmiersprache Haskell. Aufbauend auf den Kenntnissen aus der Vorlesung Informatik I demonstriert die Vorlesung fortgeschrittene Programmierkonzepte sowie die Verwendung von Haskell für die Programmierung von Ein- und Ausgabe, von Netzwerkverbindungen und Datenbankabfragen, sowie von Web-spezifischen Aufgaben (CGI-Programmierung, Haskell-Server-Pages, Web-Server). Ferner wird die Vorlesung Konzepte der GUI-Programmierung und der Animation in Haskell behandeln.

Ziele

Vorläufige Gliederung

Inhalt

  1. Auffrischung: Berechnung durch Termersetzung, Pattern Matching, Typen
  2. Programmierung mit fauler Auswertung (laziness): Ströme, Rechnen mit Unbekannten, Attributgrammatiken
  3. Typklassen: Klassen, Subklassen, Mehrdeutigkeit, Implementierung durch dictionary passing, mehrere Parameter, funktionale Abhängigkeiten
  4. Monaden
  5. Monaden und Seiteneffekte: Ein-/Ausgabe, Nebenläufigkeit, Ausnahmen
  6. CGI Programmierung
  7. Skripting
  8. Animation
  9. GUI Programmierung
  10. Programmierung mit fauler Auswertung (laziness): Ströme, Rechnen mit Unbekannten, Attributgrammatiken
  11. Funktionale Datenstrukturen

Termine

  1. 16.10.2000
  2. 23.10.2000
  3. 30.10.2000
  4. 06.11.2000
  5. 13.11.2000
  6. 20.11.2000
  7. 27.11.2000
  8. 04.12.2000 (ggf. unterichtsfrei wegen 1. Freiburger Multimediatage)
  9. 11.12.2000
  10. 18.12.2000
  11. 08.01.2001
  12. 15.01.2001
  13. 22.01.2001
  14. 29.01.2001
  15. 05.02.2001
  16. 12.02.2001 Abschlußprüfung

Haskell Online

Extra Information

References

 [1]
Mark P. Jones. Functional programming with overloading and higher-order polymorphism. In Advanced Functional Programming, volume 925 of Lecture Notes in Computer Science, pages 97-136. Springer-Verlag, May 1995.
 [2]
Mark P. Jones. Type classes with functional dependencies. In Gert Smolka, editor, Proc. 9th European Symposium on Programming, volume 1782 of Lecture Notes in Computer Science, pages 230-244, Berlin, Germany, March 2000. Springer-Verlag.
 [3]
Chris Okasaki. Purely Functional Data Structures. Cambridge University Press, 1998.
 [4]
Peter Thiemann. Grundlagen der funktionalen Programmierung. Teubner Verlag, Stuttgart, 1994.

thiemann@informatik.uni-freiburg.de, April 26, 2001