IN2040 – Funksjonell programmering

Timeplan, pensum og eksamensdato

Velg semester

Undervisning og eksamen vårsemesteret 2022

I lys av nye koronarestriksjoner vil vi i starten av vårsemesteret 2022 tilrettelegge for digital undervisning, og samtidig forsøke å opprettholde et fysisk tilbud der det er mulig. Vi håper det blir mulig med mer fysisk undervisning senere i semesteret. Se semestersiden, Canvas eller dine vanlige kanaler for eventuelle endringer i undervisning og eksamensform.

Les også om gjennomføring av utsatt eksamen høstsemesteret 2021.

Kort om emnet

Programmering i et funksjonelt programmeringsspråk. Rekursjon. Abstrakte datastrukturer. Datastyrt programmering, memoisering, objektorientering, lister og strømmer. Styrker og svakheter ved funksjonell programmering sammenlignet med imperativ programmering. Semantikk for evaluering av funksjonskall og interpretering av funksjonelle programmer.

Hva lærer du?

Etter å ha fullført IN2040

  • behersker du grunnleggende teknikker fra paradigmet for funksjonell programmering.
  • har du trening i å bruke abstraksjon for å strukturere programmer.
  • kan du forklare og bruke rekursjon generelt, og skille mellom rekursive og iterative prosesser.
  • kan du skrive og bruke høyereordens prosedyrer.
  • behersker du teknikker for utsatt evaluering for å jobbe med uendelige datastrukturer som f.eks. strømmer.
  • har du innsikt i ulike modeller for hvordan kode evalueres.

Opptak til emnet

Studenter må hvert semester søke og få plass på undervisningen og melde seg til eksamen i Studentweb.

Dersom du ikke allerede har studieplass ved UiO, kan du søke opptak til våre studieprogrammer, eller søke om å bli enkeltemnestudent.

Spesielle opptakskrav

I tillegg til generell studiekompetanse eller realkompetanse må du dekke spesielle opptakskrav:

  • Matematikk R1 (eller Matematikk S1 og S2)

De spesielle opptakskravene kan også dekkes med fag fra videregående opplæring før Kunnskapsløftet, eller på andre måter. Les mer om spesielle opptakskrav.

Obligatoriske forkunnskaper

IN1000 – Introduksjon til objektorientert programmering/INF1000 – Grunnkurs i objektorientert programmering (videreført)/INF1001 – Grunnkurs i objektorientert programmering (nedlagt)/IN1900 – Introduksjon i programmering for naturvitenskapelige anvendelser/INF1100 – Grunnkurs i programmering for naturvitenskapelige anvendelser (videreført)/HUMIT1700 – Grunnkurs i programmering for humanister (nedlagt)

Overlappende emner

Undervisning

2 timer forelesning og 2 timer gruppe hver uke. I tillegg gis det veiledning av studentene ved datamaskin. Det kreves gjennomføring av obligatoriske øvelser. Den første oppgaven skal løses individuelt. De resterende skal løses i grupper på 2-3 studenter. Les mer om krav til innlevering av oppgaver, gruppearbeid og lovlig samarbeid under retningslinjer for obligatoriske oppgaver.

Eksamen

4 timers skriftlig digital eksamen. Alle obligatoriske øvelser må være godkjent for å kunne gå opp til eksamen.

Som eksamensforsøk i dette emnet teller også forsøk i følgende tilsvarende emner: INF2810 – Funksjonell programmering (videreført), HUMIT2710 – Funksjonell programmering (nedlagt), HUMIT2710MN – Funksjonell programmering (nedlagt) og SLI230.

Hjelpemidler til eksamen

Ingen hjelpemidler tillatt.

Eksamensspråk

Du kan besvare eksamen på norsk, svensk, dansk eller engelsk.

Karakterskala

Emnet bruker karakterskala fra A til F, der A er beste karakter og F er stryk. Les mer om karakterskalaen

Adgang til ny eller utsatt eksamen

Studenter som dokumenterer gyldig fravær fra ordinær eksamen, kan ta utsatt eksamen i starten av neste semester.

Det tilbys ikke ny eksamen til studenter som har trukket seg under ordinær eksamen, eller som ikke har bestått.

Tilrettelagt eksamen, kildebruk, begrunnelse og klage

Se mer om eksamen ved UiO

Sist hentet fra Felles Studentsystem (FS) 20. jan. 2022 22:15:51

Fakta om emnet

Studiepoeng
10
Nivå
Bachelor
Undervisning
Høst
Eksamen
Høst
Undervisningsspråk
Norsk