19307601
Lecture
SoSe 21: ProInformatik II: Functional Programming
Katharina Klost
Additional information / Pre-requisites
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, Third Edition, Addison-Wesley, 2011.
- 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.
50 Class schedule
Regular appointments
Mon, 2021-07-19 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Tue, 2021-07-20 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Wed, 2021-07-21 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Thu, 2021-07-22 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Fri, 2021-07-23 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Mon, 2021-07-26 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Tue, 2021-07-27 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Wed, 2021-07-28 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Thu, 2021-07-29 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Fri, 2021-07-30 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Mon, 2021-08-02 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Tue, 2021-08-03 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Wed, 2021-08-04 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Thu, 2021-08-05 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Fri, 2021-08-06 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Mon, 2021-08-09 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Tue, 2021-08-10 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Wed, 2021-08-11 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Thu, 2021-08-12 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Fri, 2021-08-13 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Mon, 2021-08-16 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Tue, 2021-08-17 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Wed, 2021-08-18 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Thu, 2021-08-19 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Fri, 2021-08-20 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
Mon, 2021-07-19 09:00 - 12:00
Tue, 2021-07-20 09:00 - 12:00
Wed, 2021-07-21 09:00 - 12:00
Thu, 2021-07-22 09:00 - 12:00
Fri, 2021-07-23 09:00 - 12:00
Mon, 2021-07-26 09:00 - 12:00
Tue, 2021-07-27 09:00 - 12:00
Wed, 2021-07-28 09:00 - 12:00
Thu, 2021-07-29 09:00 - 12:00
Fri, 2021-07-30 09:00 - 12:00
Mon, 2021-08-02 09:00 - 12:00
Tue, 2021-08-03 09:00 - 12:00
Wed, 2021-08-04 09:00 - 12:00
Thu, 2021-08-05 09:00 - 12:00
Fri, 2021-08-06 09:00 - 12:00
Mon, 2021-08-09 09:00 - 12:00
Tue, 2021-08-10 09:00 - 12:00
Wed, 2021-08-11 09:00 - 12:00
Thu, 2021-08-12 09:00 - 12:00
Fri, 2021-08-13 09:00 - 12:00
Mon, 2021-08-16 09:00 - 12:00
Tue, 2021-08-17 09:00 - 12:00
Wed, 2021-08-18 09:00 - 12:00
Thu, 2021-08-19 09:00 - 12:00
Fri, 2021-08-20 09:00 - 12:00
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung
ProInformatik II: Funktionale Programmierung