Funktionell programmering
Om utbildningen
Den här kursen introducerar ett funktionellt programmeringsspråk och relaterade koncept för studenter som redan har en del kunskap inom programmering. Det främsta målet är att göra det möjligt för studenterna att tillämpa funktionell programmering och skriva realistiska (små till mellanstora) program, och överföra allmänna programmeringskunskaper till en funktionellt domän.
Specifika ämnen som behandlas i kursen är;
- funktioner som första klassens värden
- sammansatta datastrukturer (listor, tupler, användardefinierade typer)
- rekursion och rekursiva datatyper
- användning av abstraktionsmekanismer för att undvika repetitiv programmering
- algebraiska datatyper
- polymorfi och typklasser
- tidskomplexitet: effektiva och ineffektiva funktionella program
- rena funktioner vs input-output
- moduler och abstrakta datatyper
- testning av funktionella program
- lat evaluering och oändliga objekt
- monader
Behörigheter och urval
Behörighet
För att vara behörig till kursen ska studenten ha avklarat en 7,5 hp kurs i programmering i något paradigm förutom funktionell, t.ex. DIT948 Programmering, DIT042 Objektorienterad programmering, MVG300 Programmering med Matlab, eller motsvarande.
Följande kunskapsnivå i Engelska krävs; Engelska 6/Engelska B eller motsvarande från ett erkänt internationellt test, t.ex. TOEFL, IELTS.
Urval
Högskolepoäng, max 165 hp.