Course syllabus

Funktionsprogrammering
Functional Programming

EDAN40, 7,5 credits, A (Second Cycle)

Valid for: 2012/13
Decided by: Education Board 1
Date of Decision: 2012-03-19

General Information

Elective for: D4, D4-pv, F4, F4-pv, Pi4, Pi4-pv
Language of instruction: The course might be given in English

Aim

The course gives an insight into how the functional programming often offers a possibility to write shorter and easier-to-understand programs than using the traditional imperative or object-oriented approaches.

Learning outcomes

Knowledge and understanding
For a passing grade the student must

Competences and skills
For a passing grade the student must

Judgement and approach
For a passing grade the student must

Contents

The philosophy of functional languages. The programming languageĀ Haskell. Language constructs and idioms. Higher-order functions. Lazy evaluation and infinite data structures. Monads and monadic computations. Polymorphic type systems and type classes. Type analysis and type inference.

Examination details

Grading scale: TH
Assessment: Written examination. To qualify for the exam students must have completed the assignments. The final grade of the course is based on the result of the written examination.

Admission

Admission requirements:

Required prior knowledge: FMAA01, FMA420 and FMA430.
The number of participants is limited to: No
The course overlaps following course/s: EDA120

Reading list

Contact and other information

Course coordinator: Docent Jacek Malec, Jacek.Malec@cs.lth.se
Course homepage: http://cs.lth.se/edan40