Functional Programming

bachelor program

VO2 + PS1  WS 2013/2014  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 (6th edition, one sided/two sided) are available within the university network and at Studia (7.50 Euro). Studia also sells the 5th edition (4 Euro), which you can use if you print the exercise sheets and chapter 11 – Divide and Conquer on your own. Please note the new location of Studia (Zeichensaal T21b, Untergeschoss). Some typos have been spotted.

News

Fr 10. Jan 13:01:52 CET 2014: The results and problems, tools and sources of the PCP competition are now available.
Mo 02. Dez 15:19:32 CET 2013: Dummy submission for PCP competition added.

Schedule

week date topics slides sources exercises history
1 04.10. historical overview, OCaml introduction, first steps pdf (1, 2, 4) tar.gz pdf txt
2 11.10. lists, polymorphism, higher-order functions pdf (1, 2, 4) tar.gz pdf txt
3 18.10. modules, strings pdf (1, 2, 4) tar.gz pdf txt
4 25.10. user-defined types, trees pdf (1, 2, 4) tar.gz pdf txt
5 08.11. lambda-calculus pdf (1, 2, 4) tar.gz pdf txt, lips
6 15.11. lambda calculus, evaluation strategies pdf (1, 2, 4) tar.gz pdf txt, lips
7 22.11. induction, reasoning about functional programs pdf (1, 2, 4) tar.gz pdf
8 29.11. efficiency, tail-recursion pdf (1, 2, 4) tar.gz pdf txt
9 06.12. combinator parsing / functional parsers pdf (1, 2, 4) tar.gz pdf txt
13 13.12. divide and conquer, dynamic programming no slides tar.gz pdf txt
12 10.01. lazy evaluation, infinite data structures, evaluation pdf (1, 2, 4) tar.gz pdf txt
10 17.01. types, type checking, type inference pdf (1, 2, 4) pdf
11 24.01. implementing type inference, questions & answers pdf (1, 2, 4) tar.gz pdf txt
14 31.01. first exam
- 07.03. second exam
- 03.10. third exam

Literature

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