19307601 Lecture

SoSe 20: ProInformatik II: Functional Programming

Alexander Kauer, Johannes Sebastian Obenaus

Additional information / Pre-requisites

Registration for the course can only be done through the Proinformatik registration!

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
close

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.
close

25 Class schedule

Regular appointments

Mon, 2020-08-03 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Tue, 2020-08-04 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Wed, 2020-08-05 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Thu, 2020-08-06 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Fri, 2020-08-07 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Mon, 2020-08-10 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Tue, 2020-08-11 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Wed, 2020-08-12 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Thu, 2020-08-13 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Fri, 2020-08-14 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Mon, 2020-08-17 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Tue, 2020-08-18 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Wed, 2020-08-19 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Thu, 2020-08-20 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Fri, 2020-08-21 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Mon, 2020-08-24 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Tue, 2020-08-25 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Wed, 2020-08-26 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Thu, 2020-08-27 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Fri, 2020-08-28 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Mon, 2020-08-31 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Tue, 2020-09-01 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Wed, 2020-09-02 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Thu, 2020-09-03 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Fri, 2020-09-04 09:00 - 12:00

Lecturers:
Johannes Sebastian Obenaus
Alexander Kauer

Subjects A - Z