Kursplan för läsåret 2010/2011
(Genererad 2010-06-28.)
FUNKTIONSPROGRAMMERINGEDAN40
Functional Programming

Antal högskolepoäng: 7,5. Betygsskala: TH. Nivå: A (Avancerad nivå). Huvudområde: Teknik. Undervisningsspråk: Kursen kan komma att ges på engelska. Överlappar följande kurs/kurser: EDA120. Valfri för: D4, D4pv, E4, F4, F4pv, Pi4, Pi4pv. Kursansvarig: Universitetslektor Lennart Ohlsson, Lennart.Ohlsson@cs.lth.se och Docent Jacek Malec, Jacek.Malec@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: Skriftlig tentamen. Godkända inlämningsuppgifter krävs för att få deltaga i examen. Slutbetyg på kursen baseras på den skriftliga tentamen. Hemsida: http://cs.lth.se/utbildning/.

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 och monadiska beräkningar. Polymorfa typsystem och typklasser. Typanalys och typhärledning.

Litteratur
Webbaserat material. Rekommenderad referenslitteratur: Thompson, S: Haskell - The Craft of Functional Programming. 2nd edition. Addison-Wesley 1999. ISBN: 0-201-34275-8.