Kursplan för

Funktionsprogrammering
Functional Programming

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

Gäller för: Läsåret 2016/17
Beslutad av: Utbildningsnämnd A
Beslutsdatum: 2016-04-05

Allmänna uppgifter

Alternativobligatorisk för: D2
Valfri för: BME4, D4-pv, F4, F4-pv, L4-gi, 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 och FMA420 alternativt FMA645 och FMA656.
Begränsat antal platser: Nej
Kursen överlappar följande kurser: EDA120, EDAF40

Kurslitteratur

Kontaktinfo och övrigt

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