Kursplan för

Funktionsprogrammering
Functional Programming

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

Gäller för: Läsåret 2018/19
Beslutad av: Programledning C/D
Beslutsdatum: 2018-04-03

Allmänna uppgifter

Alternativobligatorisk för: D2
Valfri för: BME4, C4-pv, E4-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 - (U,3,4,5) - (Underkänd, Tre, Fyra, Fem)
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.

Om så krävs för att en student med varaktig funktionsnedsättning ska ges ett likvärdigt examinationsalternativ jämfört med en student utan funktionsnedsättning, så kan examinator efter samråd med universitetets avdelning för pedagogiskt stöd fatta beslut om alternativ examinationsform för berörd student.

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/FMAA05 och FMA420/FMAB20 alternativt FMA645/FMAA50 och FMA656/FMAA55.
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