Lecture Introduction to Functional Programming


VAK 04IN1023
Category: Lecture+Lesson, 4 SWS
Bachelor Basic Course
ECTS: 6, Sommer Semester
University of Koblenz-Landau
Lecturer: PD Dr. Stefan Bosse

Students master the functional programming paradigm and programming language such as Haskell, Scheme, or the functional subset of JavaScript. Students can functionally model simple algorithmic problems and data structures, using functions of higher order and type constructors such as functors, monads, and monoids. The students know typical scenarios of functional programming in the context of data / web or parallel programming.


  1. Introduction and motivation; From mathematic to programming
  2. Expressions and equation-based closure
  3. Functional Composition, anonymous features, higher order functions.
  4. Typing and Type Constraints, Type constructors
  5. Algebraic Data Types (product and sum types)
  6. Abstract Data Types

    • Dictionaries
    • Hash Tables
    • Linked Lists
    • Stacks
    • Queues
    • Trees
    • Graphs
  7. Lambda Calculus
  8. Applications of functional programming
  9. Monoids, functors, monads
  10. Modules, Libraries of combinators
  11. Analysis of computational time, lazy evaluation, memoization