Inhalt
Die Lehrveranstaltung gibt eine Einführung in die funktionale Programmierung, wobei sowohl Anwendungsbeispiele an Hand von Haskell (einer rein funktionalen Programmiersprache), als auch die theoretischen Grundlagen behandelt werden.
Zeitplan
Übungsaufgaben befinden sich jeweils am Ende eines Foliensatzes.
Vorlesung | Datum | Themen | Folien | Unterlagen | Quelltext | Musterlösungen |
---|---|---|---|---|---|---|
1 | 06.10. | historical overview, Haskell introduction, first steps | pdf (x1, x4) | html | ||
2 | 20.10. | type classes, lists, polymorphism, pattern matching, higher-order functions | pdf (x1, x4) | Archiv | html | |
3 | 27.10. | modules, strings, list comprehensions, recursive functions | pdf (x1, x4) | Archiv | html | |
4 | 03.11. | user-defined types, algebraic data types, trees, input and output | pdf (x1, x4) | Archiv | html | |
5 | 10.11. | lambda-calculus, encoding data types as lambda-terms | pdf (x1, x4) | html | ||
6 | 17.11. | evaluation strategies, abstract data types, sets, binary search trees | pdf (x1, x4) | Archiv | html | |
7 | 24.11. | induction, reasoning about functional programs, formal verification | pdf (x1, x4) | Archiv | html | |
8 | 01.12. | efficiency, tupling, tail recursion, guarded recursion, property-based testing | pdf (x1, x4) | html | ||
9 | 15.12. | combinator parsing / functional parsers | pdf (x1, x4) | Archiv | html | |
10 | 12.01. | types, type checking, unification, type inference | pdf (x1, x4) | |||
11 | 19.01. | implementing a type checker | pdf (x1, x4) | Archiv | html | |
12 | 26.01. | lazy evaluation, infinite data structures | pdf (x1, x4) | Archiv | ||
02.02. | 1te Prüfung (08:15-10:00, HS D, Anmeldung bis 19. Jänner 2018) | |||||
02.03. | 2te Prüfung (09:15-11:00, HS D) | |||||
13.09. | 3te Prüfung (09:15-11:00, 3W04 (ICT-Gebäude, 2.Stock), Anmeldung bis 30. August 2018) |
Literatur
Neben anderen Quellen, wird in der Lehrveranstaltung Material aus den folgenden Büchern verwendet:- Graham Hutton, Programming in Haskell, Cambridge University Press, 2007, ISBN 9780521692694.
- Richard Bird, Introduction to Functional Programming using Haskell (2nd edition), Prentice Hall Europe, 1998, ISBN 0134843460.
- Bryan O'Sullivan, Don Stewart, and John Goerzen, Real World Haskell, (frei verfügbar) O'Reilly, 2008, ISBN 9780596514983.
- Simon Thompson, Haskell: The Craft of Functional Programming, Addison-Wesley, 1996, ISBN 0201403579.
- Chris Hankin, An Introduction to Lambda Calculi for Computer Scientists, King's College Publications, ISBN 0954300653.
- Chris Okasaki, Purely Functional Data Structures, Cambridge University Press, 1999, ISBN 0521663504.
- Fethi Rabhi and Guy Lapalme, Algorithms: A Functional Programming Approach, Addison-Wesley, 1999, ISBN 0201596040.