IN3040 – Programmeringsspråk
Beskrivelse av emnet
Kort om emnet
I dette emnet diskuterer vi syntaks og semantikk for programmeringsspråk generelt, inkludert statiske og dynamiske aspekter, typer og type-inferens, høyere-ordens funksjoner, polymorfisme, implementasjon og kjøretidssystemer. Vi kommer også innom forskjellige klasser av programmeringsspråk, slik som objektorienterte, funksjonelle, dynamiske og logiske språk, og vi diskuterer disse i relasjon til hverandre.
Hva lærer du?
Etter å ha tatt IN3040 kan du:
- Enklere lære nye programmeringsspråk, kjenne til en større bredde av eksisterende språk, og forstå konstruksjonene i disse bedre
- Delta i utvikling av, og diskusjon rundt, nye programmeringsspråk basert på en forståelse av designrommet for slik utvikling, og hvilke avveininger som ligger bak de språkene vi har i dag, og deres særegenheter
- Forklare hvordan sentrale språkbegreper er implementert på et høyt nivå, og diskutere hva som ligger bak designvalg som er gjort i så måte
- Forstå forskjellene på forskjellige paradigmer innen programmering, slik som objektorientert, funksjonell og logisk programmering
- Vurdere fordeler og ulemper ved de forskjellige måter å programmere på
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.
Anbefalte forkunnskaper
Emnet bygger på IN2010 – Algoritmer og datastrukturer
Overlappende emner
- 10 studiepoeng overlapp med INF3110 – Programmeringsspråk (videreført).
- 10 studiepoeng overlapp med INF4110 – Programmeringsspråk (nedlagt).
- 9 studiepoeng overlapp med IN211.
- 6 studiepoeng overlapp med IN214.
Undervisning
2 timer forelesninger og 2 timer gruppeøvelser per uke. Dette emnet har obligatoriske øvelser som må være godkjent før avsluttende eksamen.
Eksamen
Avsluttende 4 timers skriftlig digital eksamen. Dette emnet har obligatoriske øvelser som må være godkjent før avsluttende eksamen
Som eksamensforsøk i dette emnet teller også forsøk i følgende tilsvarende emner: INF3110 – Programmeringsspråk (videreført), INF4110 – Programmeringsspråk (nedlagt), INF211
Hjelpemidler til eksamen
Alle trykte og skrevne
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.
Mer om eksamen ved UiO
- Kildebruk og referanser
- Tilrettelegging på eksamen
- Trekk fra eksamen
- Syk på eksamen / utsatt eksamen
- Begrunnelse og klage
- Ta eksamen på nytt
- Fusk/forsøk på fusk
Andre veiledninger og ressurser finner du på fellessiden om eksamen ved UiO.