Avansert funksjonell programmering
Masteremne
- Studiepoeng
- 10
- Undervisningssemester
- Vår
- Emnekode
- INF221
- Talet på semester
- 1
- Undervisningsspråk
- Engelsk
- Ressursar
- Timeplan
Emnebeskrivelse
Mål og innhald
Emnet har som mål å formidle avanserte teknikkar og teori for programmering i funksjonelle programmeringsspråk. I funksjonell programmering kan typing og abstraksjonar i språket uttrykkje avanserte mønster som gjev konsise programmer med klår semantikk. Ein av dei viktigaste slike abstraksjonane er monadar som uttrykkjer berekningar med sideverknader eller annan kontekst. Monadar er derfor eit sentralt tema i emnet. Andre sentrale tema er partialitet/totalitet, korekursjon, lat evaluering , samt algebraiske- og avhengige typar.
Teoridelen av emnet baserer seg på forsking i typeteori, og gjer ein syntaktisk og semantisk bakgrunn for programmeringsteknikkane i emnet. Målet med teorien er å gje eit rammeverk for å forstå eigenskapar, konstruksjonar og mønster i funksjonelle programmeringsspråk.
Læringsutbyte
Studenten skal ved avslutta emne ha følgjande læringsutbyte definert i kunnskapar, ferdigheiter og generell kompetanse:
Kunnskapar
Studenten
- kjenner til de viktigaste abstraksjonane i funksjonell programmering
- forstår korleis desse abstraksjonane nyttast i konkrete programmeringsspråk
- forstår teorien som ligg bak abstraksjonane
Ferdigheiter
Studenten
- kan utvikle avanserte programmer i eit funksjonelt programmeringsspråk
- kan uttrykkje strukturar i algebraiske- og avhengige typar
Generell kompetanse
Studenten
- kan kommunisere idear kring funksjonell programmering med andre
- kan presentera teknikkar og konkrete program som dei har skreve på ein god måte
Studiepoeng, omfang
Studienivå (studiesyklus)
Undervisningssemester
Krav til forkunnskapar
Tilrådde forkunnskapar
Studiepoengsreduksjon
Krav til studierett
Arbeids- og undervisningsformer
Obligatorisk undervisningsaktivitet
Godkjende obligatoriske oppgåver og/eller godkjend munnleg presentasjon av programmeringsprosjekt.
Obligatoriske aktiviteter er gyldige i to semester, det semesteret aktiviteten godkjennes samt det påfølgjande semesteret.
Ekstraaktivitet for PHD-studenter (heisemne): Må holde en presentasjon eller skrive en rapport om en avansert, funksjonell programmeringsteknikk