19300001
Lecture
WiSe 14/15: Funktionale Programmierung
Klaus Kriegel
Information for students
Comments
Grundlagen der Berechenbarkeit:
- Lambda-Kalkül
- primitive Rekursion
- µ-Rekursion
Einführung in die Funktionale Programmierung (Haskell):
- Syntax (Backus-Naur-Form)
- primitive Datentypen, Listen, Tupel, Zeichenketten
- Ausdrücke, Funktionsdefinitionen, Rekursion und Iteration
- Funktionen höherer Ordnung, Polymorphie
- Typsystem, Typherleitung und –überprüfung
- Algebraische und abstrakte Datentypen
- Ein- und Ausgabe
- Such- und Sortieralgorithmen
Beweisen von Programmeigenschaften:
- Termersetzung
- strukturelle Induktion
- Terminierung
Implementierung und Programmiertechnik:
- Auswertungsstrategien für funktionale Programme
- Modularer Programmentwurf
Suggested reading
- Simon Thompson: Haskell: The Craft of Functional Programming, 2nd Edition, Addison-Wesley, 1999
- Graham Hutton: Programming in Haskell, Cambridge University Press, 2007
- Bird, R./Wadler, Ph.: Einführung in Funktionale Programmierung, Hanser Verlag, 1982
- Hans Hermes: Aufzählbarkeit, Entscheidbarkeit, Berechenbarkeit, Springer-Verlag 1978
31 Class schedule
Additional appointments
Tue, 2015-02-17 12:00 - 14:30Klausur
Location:
SR 005/T9 Übungsraum (Takustr. 9)
Gr. Hörsaal\Taku 9 (Takustr. 9)
Regular appointments
Wed, 2014-10-15 10:00 - 12:00
Wed, 2014-10-22 10:00 - 12:00
Wed, 2014-10-29 10:00 - 12:00
Wed, 2014-11-05 10:00 - 12:00
Wed, 2014-11-12 10:00 - 12:00
Wed, 2014-11-19 10:00 - 12:00
Wed, 2014-11-26 10:00 - 12:00
Wed, 2014-12-03 10:00 - 12:00
Wed, 2014-12-10 10:00 - 12:00
Wed, 2014-12-17 10:00 - 12:00
Wed, 2015-01-07 10:00 - 12:00
Wed, 2015-01-14 10:00 - 12:00
Wed, 2015-01-21 10:00 - 12:00
Wed, 2015-01-28 10:00 - 12:00
Wed, 2015-02-04 10:00 - 12:00
Wed, 2015-02-11 10:00 - 12:00
Mon, 2014-10-20 10:00 - 12:00
Mon, 2014-10-27 10:00 - 12:00
Mon, 2014-11-03 10:00 - 12:00
Mon, 2014-11-10 10:00 - 12:00
Mon, 2014-11-17 10:00 - 12:00
Mon, 2014-11-24 10:00 - 12:00
Mon, 2014-12-01 10:00 - 12:00
Mon, 2014-12-08 10:00 - 12:00
Mon, 2014-12-15 10:00 - 12:00
Mon, 2015-01-05 10:00 - 12:00
Mon, 2015-01-12 10:00 - 12:00
Mon, 2015-01-19 10:00 - 12:00
Mon, 2015-01-26 10:00 - 12:00
Mon, 2015-02-02 10:00 - 12:00
Mon, 2015-02-09 10:00 - 12:00