FUNKTIONSPROGRAMMERING | EDA120 |
Antal högskolepoäng: 6. Betygskala: TH. Nivå: G2 (Grundnivå, fördjupad). Undervisningsspråk: Kursen kan komma att ges på engelska. Valfri för: D4, D4ps, E4, F4, Pi4. Kursansvarig: Univ.lektor Lennart Ohlsson, Lennart.Ohlsson@cs.lth.se, Inst f datavetenskap. Förkunskapskrav: EDAA01 Programmeringsteknik - fördjupningskurs eller EDA027 Algoritmer och datastrukturer. Förutsatta förkunskaper: FMA410, FMA420 och FMA430. Prestationsbedömning: För betyg 3 krävs godkänt på samtliga inlämningsuppgifter. Högre betyg kan erhållas med skriftlig tentamen. Fullgjorda inlämningsuppgifter är krav för att få deltaga i tentamen. Inlämningsuppgifterna kan endast redovisas under pågående kurs. Hemsida: http://www.cs.lth.se/EDA120.
Syfte
Kursen ger insikt i hur den funktionsorienterande programmeringsparadigmen ofta ger möjlighet att skriva program som är både kortare och lättare att förstå än med traditionell imperativ och objektorienterad programmering.
Mål
Kunskap och förståelse
För godkänd kurs skall studenten
Färdighet och förmåga
För godkänd kurs skall studenten
Värderingsförmåga och förhållningssätt
För godkänd kurs skall studenten
Innehåll
Funktionsspråkens filosofi och möjligheter. Programspråket Haskell. Funktionella språkkonstruktioner och idiom. Högre ordningens funktioner. Lat evaluering och oändliga datastrukturer. Monader. Polymorfa typsystem och typklasser.
Litteratur
Webbaserat material. Rekommenderad referenslitteratur: Thompson, S: Haskell - The Craft of Functional Programming. 2nd edition. Addison-Wesley 1999. ISBN: 0-201-34275-8.