Course syllabus

Funktionsprogrammering
Functional Programming

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

Valid for: 2013/14
Decided by: Education Board A
Date of Decision: 2013-04-15

General Information

Elective for: D4, D4-pv, F4, F4-pv, Pi4, Pi4-pv
Language of instruction: The course will 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.

Parts
Code: 0113. Name: Assignments.
Credits: 3,5. Grading scale: UG. Assessment: To qualify for a passing grade the assignments must be completed.
Code: 0213. Name: Written Examination.
Credits: 4. Grading scale: TH. Assessment: To qualify for the exam the assignments must be completed. The final grade of the course is based on the result of the written examination. Contents: 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: Professor Jacek Malec, Jacek.Malec@cs.lth.se
Course homepage: http://cs.lth.se/edan40