en | de

Functional Programming

bachelor program

VO2 + PS1  WS 2007/2008  no LVA number

Introduction

The course provides an introduction to functional programming, covering both theoretical background and practical examples using OCaml (a non-pure and strict functional language).

week  1: historical overview, OCaml introduction
week  2: lists, polymorphism, higher-order functions
week  3: modules, strings
week  4: user-defined types, trees
week  5: sets, lambda-calculus
week  6: evaluation strategies, implementing lambda
week  7: induction, reasoning about functional programs
week  8: efficiency, tail-recursion
week  9: combinator parsing
week 10: type checking, type inference
week 11: lazy evaluation, infinite data structures

Literature

Amongst other sources the course incorporates material from the following books (in order of relevance for this course):

Language

The lecture (VO) and the exercise course (PS) are taught in German but the course material (slides, lecture notes, etc.) are in English since it is the de-facto standard language in computer science. On demand also an English exercise course is possible (not in addition to but instead of a German one).