en | de

Functional Programming

bachelor program

VO2 + PS1  WS 2012/2013  703024 + 703025

Content

The course provides an introduction to functional programming, covering both, practical examples using OCaml (a functional language) and theoretical background. Lecture notes are available within the university network and Studia (7.50 Euro). Some typos have been spotted.

Schedule

week date topics slides sources exercises history
1 05.10. historical overview, OCaml introduction, first steps pdf (1, 2, 4) pdf
2 12.10. lists, polymorphism, higher-order functions pdf (1, 2, 4) tar.gz pdf txt
3 19.10. modules, strings pdf (1, 2, 4) tar.gz pdf txt
4 09.11. user-defined types, trees pdf (1, 2, 4) tar.gz pdf txt
5 16.11. lambda-calculus pdf (1, 2, 4) tar.gz pdf txt
6 23.11. lambda calculus, evaluation strategies pdf (1, 2, 4) tar.gz pdf txt
7 30.11. induction, reasoning about functional programs pdf (1, 2, 4) pdf
8 07.12. efficiency, tail-recursion pdf (1, 2, 4) tar.gz pdf txt
9 14.12. combinator parsing / functional parsers pdf (1, 2, 4) tar.gz pdf txt
10 11.01. types, type checking, type inference pdf (1, 2, 4) pdf
11 18.01.11.01. implementing type inference tar.gz
12 25.01.18.01. lazy evaluation, infinite data structures pdf (1, 2, 4) tar.gz pdf txt
13 25.01. divide and conquer, dynamic programming chapter tar.gz pdf
14 01.02. first exam
15 01.03. second exam
16 30.09. third exam

Literature

Amongst other sources the course incorporates material from the following books: