Dette emnet er erstattet av IN1010 - Objektorientert programmering.

Timeplan, pensum og eksamensdato

Velg semester

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 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.

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 forkurs i Java for INF1010, for å lette overgangen mellom Python og Java.

Overlappende emner

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 skriftlig digital eksamen. Alle obligatoriske oppgaver må være bestått for å kunne gå opp til eksamen. 

Hjelpemidler

Enten Cay Horstmann: Big Java. (læreboka)
eller Brunland m.fl.: Rett på Java

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 trekker deg fra eksamen etter fristen eller under eksamen, bruker du et eksamensforsøk.

Annet

Det er obligatorisk oppmøte på første forelesning.

Fakta om emnet

Studiepoeng

10

Nivå

Bachelor

Undervisning

Hver vår

Emnet ble undervist siste gang våren 2017. Emnet vil videreføres som IN1010 våren 2018. Obliger kan videreføres til IN1010.

Eksamen

Hver vår

Eksamen siste gang vår 2018 og vår 2019 for de som har obliger godkjent fra før.

Undervisningsspråk

Norsk