|
Laut Studienordnung Informatik von 1993, Stand Herbst 2002 soll der
Kurs Praktische Informatik 3 (Funktionales Programmieren) folgende
Themen behandeln:
- Grundlagen der Funktionalen Programmierung:
- Ausdrücke und ihre Auswertung
- Definition von Funktionen durch rekursive Gleichungen
- Mustervergleich (pattern matching)
- Auswertung, Reduktion, Normalform
- Funktionen höherer Ordnung, currying
- Polymorphie
- Typkorrektheit und Typüberprüfung
- Typen:
- Algebraische Datentypen
- Standarddatentypen (Listen, kartesische Produkte, Lifting) und
Standardfunktionen (fold, map, filter)
- Bäume
- Graphen
- Strukturierung und Spezifikation:
- Module
- Schnittstellen
- Abstrakte Datentypen
- Signaturen und Axiome
- Theoretische Aspekte:
- Denotationelle Semantik
- Referenzielle Transparenz
- Termersetzung und Lambda-Kalkül
- Beweis durch strukturelle Induktion
- Programmentwicklung durch Transformation
- Fortgeschrittene funktionale Programmierung:
- Monaden
- Funktionale Ein-Ausgabe mit Monaden
- Überladen, Typklassen, Konstruktorklassen
- Polymorphe Rekursion
- Strikte und verzögerte Auswertung
- Unendliche Datentypen, Koinduktion
- Typsystemerweiterungen
|
|