19307601 Lecture

SoSe 19: ProInformatik II: Functional Programming

Alexander Kauer, Jonas Cleve

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, 2019-07-15 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Tue, 2019-07-16 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Wed, 2019-07-17 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Thu, 2019-07-18 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Fri, 2019-07-19 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Mon, 2019-07-22 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Tue, 2019-07-23 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Wed, 2019-07-24 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Thu, 2019-07-25 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Fri, 2019-07-26 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Mon, 2019-07-29 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Tue, 2019-07-30 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Wed, 2019-07-31 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Thu, 2019-08-01 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Fri, 2019-08-02 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Mon, 2019-08-05 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Tue, 2019-08-06 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Wed, 2019-08-07 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Thu, 2019-08-08 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Fri, 2019-08-09 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Mon, 2019-08-12 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Tue, 2019-08-13 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Wed, 2019-08-14 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Thu, 2019-08-15 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Fri, 2019-08-16 08:00 - 12:00

Lecturers:
Jonas Cleve
Alexander Kauer

Location:
T9/046 Seminarraum (Takustr. 9)

Subjects A - Z