Avansert funksjonell programmering

Masteremne

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

10 studiepoeng

Studienivå (studiesyklus)

Master (kan tilbys på PHD-nivå som heisemne).

Undervisningssemester

Vår
Krav til forkunnskapar
Ingen
Tilrådde forkunnskapar
Studiepoengsreduksjon
Ingen
Krav til studierett
For oppstart på emnet er det krav om ein studierett knytt til Fakultet for naturvitskap og teknologi www.uib.no/matnat/52646/opptak-ved-mn-fakultetet
Arbeids- og undervisningsformer
Forelesning og lab i inntil 6 timer per uke.
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

Vurderingsformer
Innlevert programmeringsoppgåve med rapport. Det er høve til å gje karakter på obligatoriske oppgåver som kan inngå i sluttkarakteren.
Karakterskala
Ved sensur vert karakterskalaen A-F nytta.
Vurderingssemester
Det er ordinær eksamen kvart semester. I semesteret utan undervisning er eksamen tidleg i semesteret.
Litteraturliste
Litteraturlista vil vere klar innan 01.07. for haustsemesteret og 01.12. for vårsemesteret.
Emneevaluering
Studentane skal evaluere undervisninga i tråd med UiB og instituttet sitt kvalitetssikringssystem.
Hjelpemiddel til eksamen
Ingen
Administrativt ansvarleg
Det matematisk-naturvitenskapelege fakultet ved institutt for informatikk har det administrative ansvaret for emnet og studieprogrammet.