Kursplan för

Funktionsprogrammering
Functional Programming

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

Gäller för: Läsåret 2023/24
Fakultet: Lunds tekniska högskola
Beslutad av: Programledning C/D
Beslutsdatum: 2023-04-18

Allmänna uppgifter

Alternativobligatorisk för: D2
Valfri för: BME4, C4-pv, E4-pv, F4, F4-pv, L4-gi, N4, Pi4-pv, MMSR1
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: FMAA05 och FMAB20 alternativt FMAA50 och FMAA55 alternativt EDAA40. Studenten förväntas ha grundläggande förståelse för matematiska funktioner, kunna hantera funktionsammansättning och induktionsbevis.
Begränsat antal platser: Nej
Kursen överlappar följande kurser: EDA120, EDAF40, EDAF95

Kurslitteratur

Kontaktinfo och övrigt

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