193000x1
Lecture
WiSe 18/19: Functional Programming
Raul Rojas Gonzalez
Additional information / Pre-requisites
For the tutorial please refer to 19300004
Comments
Contents:
Introduction to Functional Programming (Haskell):
- Syntax (Backus-Naur Form)
- primitive data types, lists, tuples, strings
- expressions, function definitions, recursion and iteration
- evaluation strategies of functional programs
- higher-order functions
- polymorphism
- type system and verification
- Algebraic and abstract data types
- input, output and Monads
- searching and sorting algorithms
Introduction of computability:
- Lambda calculus
- Primitive Recursion
- μ-Recursion
Proofs of program properties:
- Term Rewriting
- Structural induction
- Termination
Implementation and programming technique:
- Modular program design
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
29 Class schedule
Additional appointments
Mon, 2018-12-03 10:00 - 12:00Zwischenklausur
Wed, 2019-02-13 10:00 - 12:00
Klausurtermin
Regular appointments
Wed, 2018-10-17 10:00 - 12:00
Wed, 2018-10-24 10:00 - 12:00
Wed, 2018-10-31 10:00 - 12:00
Wed, 2018-11-07 10:00 - 12:00
Wed, 2018-11-14 10:00 - 12:00
Wed, 2018-11-21 10:00 - 12:00
Wed, 2018-11-28 10:00 - 12:00
Wed, 2018-12-05 10:00 - 12:00
Wed, 2018-12-12 10:00 - 12:00
Wed, 2018-12-19 10:00 - 12:00
Wed, 2019-01-09 10:00 - 12:00
Wed, 2019-01-16 10:00 - 12:00
Wed, 2019-01-23 10:00 - 12:00
Wed, 2019-01-30 10:00 - 12:00
Wed, 2019-02-06 10:00 - 12:00
Mon, 2018-10-22 10:00 - 12:00
Mon, 2018-10-29 10:00 - 12:00
Mon, 2018-11-05 10:00 - 12:00
Mon, 2018-11-12 10:00 - 12:00
Mon, 2018-11-19 10:00 - 12:00
Mon, 2018-11-26 10:00 - 12:00
Mon, 2018-12-10 10:00 - 12:00
Mon, 2018-12-17 10:00 - 12:00
Mon, 2019-01-07 10:00 - 12:00
Mon, 2019-01-14 10:00 - 12:00
Mon, 2019-01-21 10:00 - 12:00
Mon, 2019-01-28 10:00 - 12:00
Mon, 2019-02-04 10:00 - 12:00
Mon, 2019-02-11 10:00 - 12:00