Kursplan för

Funktionsprogrammering
Functional Programming

EDAN40, 7,5 högskolepoäng, A (Avancerad nivå)

Gäller för: Läsåret 2013/14
Beslutad av: Utbildningsnämnd A
Beslutsdatum: 2013-04-15

Allmänna uppgifter

Valfri för: D4, D4-pv, F4, F4-pv, Pi4, Pi4-pv
Undervisningsspråk: Kursen ges på engelska

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

Kursinnehå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.

Kursens examination

Betygsskala: TH
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.

Delmoment
Kod: 0113. Benämning: Inlämningsuppgifter.
Antal högskolepoäng: 3,5. Betygsskala: UG. Prestationsbedömning: För godkänt betyg krävs godkända inlämningsuppgifter.
Kod: 0213. Benämning: Tentamen.
Antal högskolepoäng: 4. Betygsskala: TH. Prestationsbedömning: För att få delta i tentamen krävs godkända inlämningsuppgifter. Slutbetyg i kursen baseras på resultatet av den skriftliga tentamen. Delmomentet omfattar: Skriftlig tentamen

Antagningsuppgifter

Förkunskapskrav:

Förutsatta förkunskaper: FMAA01, FMA420 och FMA430.
Begränsat antal platser: Nej
Kursen överlappar följande kurser: EDA120

Kurslitteratur

Kontaktinfo och övrigt

Kursansvarig: Professor Jacek Malec, Jacek.Malec@cs.lth.se
Hemsida: http://cs.lth.se/edan40