Valid for: 2023/24
Faculty: Faculty of Engineering, LTH
Decided by: PLED C/D
Date of Decision: 2023-04-18
Elective Compulsory for: D2
Elective for: BME4, C4-pv, E4-pv, F4, F4-pv, L4-gi, N4, Pi4-pv, MMSR1
Language of instruction: The course will be given in English
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.
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
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.
Grading scale: TH - (U,3,4,5) - (Fail, Three, Four, Five)
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.
The examiner, in consultation with Disability Support Services, may deviate from the regular form of examination in order to provide a permanently disabled student with a form of examination equivalent to that of a student without a disability.
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.
Assumed prior knowledge: FMAA05 and FMAB20 or FMAA50 and FMAA55 or EDAA40. Students are expected to have basic understanding of mathematical functions, functional composition and proof by induction.
The number of participants is limited to: No
The course overlaps following course/s: EDA120, EDAF40, EDAF95
Course coordinator: Professor Jacek Malec, Jacek.Malec@cs.lth.se
Course homepage: http://cs.lth.se/edan40