Kursplan - Funktionell programmering
Omfattning
7.5 hp
Kurskod
DVA275
Giltig från
Hösttermin 2025
Utbildningsnivå
Grundnivå
Successiv fördjupning
G1F (Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav).
Huvudområde(n)
Datavetenskap
Akademi
Akademin för innovation, design och teknik
Fastställd
2025-01-16
Litteraturlistor
Kurslitteraturen är preliminär till 8 veckor innan kursstart. Kurslitteratur kan vara giltig över flera terminer.
Syfte
Att lära studenten att självständigt lösa problem i ett funktionellt språk, och förstå vilka för- och nackdelar det funktionella paradigmet har jämfört med andra paradigm, som det imperativa och det objektorienterade.
Lärandemål
För godkänt ska studenten förstå och kunna använda de begrepp som lärs ut, manifesterat i följande mer konkreta färdigheter:
- lösa programmeringsproblem i ett funktionellt språk, med rekursion
- använda listor, tupler och andra funktionella datastrukturer för att strukturera data på lämpligt sätt vid problemlösning
- använda de vanligaste högre ordningens funktioner för att programmera effektivt
- deklarera egna datatyper och använda dessa vid modellering och problemlösning
- kunna redogöra skriftligt och muntligt för mjukvarulösningar som bygger på funktionell programmeringsteknik
Innehåll
Det funktionella programmeringsparadigmet. Rekursion. Högre ordningens funktioner. Algebraiska datatyper. Datastrukturer i funktionella språk: listor, tupler, träd. Moderna typsystem med typinferens. Olika evalueringsstrategier: lat versus ivrig evaluering. Frihet från sidoeffekter, och hur detta kan fås att samsas med I/O. Imperativ programmering i funktionella språk. Något om tillämpningar av funktionell programmering. Orientering om teoretiska grunder, som lambdakalkyl.
Särskild behörighet
Programmering 7,5 hp, Datastrukturer, algoritmer och programkonstruktion 7,5 hp, Diskret matematik 7,5 hp eller motsvarande.
Examination
Laboration (LAB1), Laboration som redovisas enligt instruktion, 2 hp, betyg Underkänd (U) eller Godkänd (G).
Projekt (PRO1), Projektarbete som redovisas enligt instruktion, 1,5 hp, betyg Underkänd (U) eller Godkänd (G).
Salstentamen (TEN1), Skriftlig sluttentamen, 4 hp, betyg Underkänd (U), 3, 4 eller 5.
En student som har ett intyg från MDU avseende sin funktionsnedsättning har möjlighet att anmäla önskemål om anpassning vid salstentamina eller annan examinationsform i enlighet med Regler och anvisningar för examination på grundnivå och avancerad nivå vid Mälardalens högskola (2020/1655). Det är examinator som, utifrån det intyg som utfärdats, beslutar om eventuell anpassning och i så fall vilken anpassning som ska gälla.
Misstankar om vilseledande vid examination (fusk) anmäls, enligt högskoleförordningen, till universitetets rektor och prövas av universitetets disciplinnämnd. Om disciplinnämnden anser att en student gjort sig skyldig till en disciplinförseelse fattar nämnden beslut om en disciplinär åtgärd, vilket är varning eller avstängning.
Betyg
Med beröm godkänd, icke utan beröm godkänd, godkänd, underkänd
Övergångsbestämmelser och övriga föreskrifter
Kursen överlappar helt med DVA201/DVA229 Funktionell programmering med F#.