IT2105
Funksjonell programmering
Sist undervist 2007
Høst
Norsk
Om emnet
Faglig innhold
Emnet gir en oversikt over prinsipper for funksjonell programmering, og innføring i programmeringsspråket LISP. Hvilken variant av LISP (f.eks. Common Lisp, Scheme, ML) som brukes kan variere fra semester til semester. På tvers av alle disse varianter finnes det imidlertid viktige begreper som LISP gir innsikt i: liste- kontra tabellbehandling, rekursjon kontra iterasjon, abstraksjon av data og prosedyrer, bygging av et språk på toppen av et annet språk ved hjelp av makroer, prosedyrer som bygger opp andre prosedyrer, samt objekt-orientert programmering.
Faget er delt i to, der første delen dekker basis LISP-egenskaper mens den andre delen dekker mer avansert LISP-programmeringsoppgaver. Øvings- og prosjektopplegg er krevende i og med at LISP er et språk som tar litt tid å venne seg til. Gevinsten kan imidlertid være stor, siden LISP er en ypperlig prototypingspråk foretrukket av mange for prosjekter både innen- og utenfor AI.
Læringsmål
Studentene skal få innsikt i prinsipper for funksjonell programmering, samt opparbeide programmeringsferdigheter i et funksjonellt programmeringsspråk; LISP.
Læringsformer og aktiviteter
Standard forelesninger, tellende øvinger, midtsemesterprøve.
Det er sterkt anbefalt at studentene deltar på forelesningene.
Karakter basert på:
25% - øvinger i først øvingsgruppe (6 stykker).
25% - øvinger/prosjekter i andre gruppe (3 stykker).
50% - eksamen (den beste av to ulike 120-minutters eksamener)
Øvinger (alle 9) rettes som bestått/ikke bestått, og antall
godkjent øvinger konverteres til et prosenttall
som brukes i beregningen av sluttkarakteren.
For å stå i faget må studenten komme over en viss terskel
på eksamen og over en annen terkel på total-poeng. Tersklene defineres av faglærer ut i fra
eksamenens og øvingenes vanskelighetsgrader. pleier å ligge et
sted mellom 30% og 40%.
Ved utsatt eksamen kan skriftlig eksamen bli endret til muntlig eksamen.