Syllabus academic year 2008/2009
(Created 2008-07-17.)
FUNCTIONAL PROGRAMMINGEDA120

Higher education credits: 6. Grading scale: TH. Level: G2 (First level). Language of instruction: The course might be given in English. Optional for: D3, D3ps, E4, F4, Pi4. Course coordinator: Universitetslektor Lennart Ohlsson, Lennart.Ohlsson@cs.lth.se, Inst f datavetenskap. Prerequisites: EDA027 Algorithms and Data Structures or EDAA01 Programming - Second Course. Recommended prerequisits: FMA410, FMA420 and FMA430. Assessment: To qualify for a passing grade, the students must have completed the assignments. For a higher grade, a written examination is required. To qualify for the written examination the students must have completed the assignments. The assignments must be completed during the course period. Home page: http://www.cs.lth.se/EDA120.

Knowledge and understanding
For a passing grade the student must

Skills and abilities
For a passing grade the student must

Judgement and approach
For a passing grade the student must

Contents
The philosophy behind functional languages. The Haskell language. Language constructs and idiom. Higher order functions. Lazy evaluation and infinite data structures. Monads. Polymorphic type systems and type classes.

Literature
Web based material. Recommended reference:
Thompson, S: Haskell - The Craft of Functional Programming. 2nd edition. Addison-Wesley 1999. ISBN: 0-201-34275-8.