INF1010 – Objektorientert programmering
Beskrivelse av emnet
Kort om emnet
En fortsettelse av emnet INF1000 – Grunnkurs i objektorientert programmering (videreført). En videre innføring i sentrale begreper innen objektorientering: subklasser, abstrakte klasser, grensesnitt og virtuelle metoder. Samspill mellom objekter. Noen sentrale datastrukturer som f.eks. lister og binære trær, samt tilhørende algoritmer. Abstrakte datatyper og alternative implementasjoner. Eksempler på bruk av rekursjon. Enkle eksempler på vindus-programmering med hendelseshåndtering (GUI). En første innføring i parallellitet, delte data, synkronisering og tråder. Utvidet bruk av klassebiblioteket i Java.
Hva lærer du?
Når du har fullført dette emnet har du grundig kjennskap til, og kan
selv bruke når du lager programmer:
- subklasser, abstrakte klasser, grensesnitt, virtuelle
metoder, abstrakte datatyper og alternative implementasjoner - sammspill mellom objekter, inkluderte programmering med klient-tjener
og likestilte objekter (peer-to-peer) - noen sentrale datastrukturer som f.eks. enveis og toveis lister og binære trær, med tilhørende algoritmer
Når du har fullført dette emnet har du god kjennskap til - og når du selv programmerer kan du bruke - enklere former for:
- rekursjon
- vindus-programmering med hendelseshåndtering (GUI)
- parallellitet, delte data, synkronisering og tråder
- klassebiblioteket i Java
Opptak og adgangsregulering
Studenter må hvert semester i Studentweb.
Dersom du ikke allerede har studieplass ved UiO, kan du søke opptak til våre , eller søke om å bli .
Forkunnskaper
Obligatoriske forkunnskaper
Emnet forutsetter INF1000 – Grunnkurs i objektorientert programmering (videreført)/INF1100 – Grunnkurs i programmering for naturvitenskapelige anvendelser (videreført)/HUMIT1700 – Grunnkurs i programmering for humanister (nedlagt)/IN105/INF101.
Anbefalte forkunnskaper
For studenter som har INF1100 – Grunnkurs i programmering for naturvitenskapelige anvendelser (videreført) som bakgrunn anbefales det i tillegg å ta for å lette overgangen mellom Python og Java.
Overlappende emner
- 5 studiepoeng overlapp mot INF101
- 5 studiepoeng overlapp mot IN105
- 5 studiepoeng overlapp mot INF110 – Algoritmer og datastrukturer (nedlagt)
- 5 studiepoeng overlapp mot IN115
Undervisning
Kurset går over hele semesteret med to timer forelesning og to timer gruppeundervisning hver uke. Det vil være et programmeringslaboratorium med gruppelærer. Det kreves gjennomføring av obligatoriske oppgaver. Les mer om krav til innlevering av oppgaver, gruppearbeid og lovlig samarbeid under retningslinjer for obligatoriske oppgaver.
Eksamen
6 timers . Alle obligatoriske oppgaver må være bestått for å kunne gå opp til eksamen.
Hjelpemidler
Alle trykte og skrevne.
Karakterskala
Emnet bruker karakterskala fra A til F, der A er beste karakter og F er stryk. Les mer om karakterskalaen.
Begrunnelse og klage
Adgang til ny eller utsatt eksamen
Dette emnet tilbyr både utsatt og ny eksamen. Les mer:
Trekk fra eksamen
Det er mulig å ta eksamen i emnet inntil tre ganger. Dersom du etter fristen eller under eksamen, bruker du et eksamensforsøk.
Annet
Det er obligatorisk oppmøte på første forelesning.