19300001
Lecture
WiSe 19/20: Functional Programming
Margarita Esponda Argüero
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
31 Class schedule
Additional appointments
Sun, 2019-11-10 17:00 - 19:00 Mon, 2019-11-11 19:00 - 20:00 Fri, 2019-12-13 08:00 - 10:00Zwischenklausur
Tue, 2020-01-07 08:00 - 10:00
Klausureinsicht
Tue, 2020-02-18 08:00 - 10:00
Klausur
Tue, 2020-03-03 08:00 - 10:00
Klausureinsicht: Funktionale Programmierung
Tue, 2020-04-07 10:00 - 12:00
Nachklausur
Tue, 2020-07-28 08:00 - 11:30
Nachklausur
Regular appointments
Wed, 2019-10-16 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2019-10-23 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2019-10-30 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2019-11-06 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2019-11-13 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2019-11-20 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2019-11-27 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2019-12-04 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2019-12-11 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2019-12-18 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2020-01-08 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2020-01-15 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2020-01-22 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2020-01-29 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2020-02-05 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Wed, 2020-02-12 10:00 - 12:00
Funktionale Programmierung (Serientermin 2)
Mon, 2019-10-21 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2019-10-28 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2019-11-04 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2019-11-11 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2019-11-18 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2019-11-25 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2019-12-02 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2019-12-09 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2019-12-16 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2020-01-06 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2020-01-13 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2020-01-20 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2020-01-27 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2020-02-03 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)
Mon, 2020-02-10 10:00 - 12:00
Funktionale Programmierung (Serientermin 1)