IN5570 – Distribuerte objekter
Beskrivelse av emnet
Kort om emnet
Emnet gir en presentasjon av grunnleggende begreper for distribuerte objekter, inkludert lokale og distribuerte objekter, ekstern objektpåkalling, kommunikasjon, parametervurderingsprinsipper, søppelsamling, ytelsesproblemer og typiske applikasjoner. Emnet dekker også advanced type systems, inkludert begreper som immutability og dets anvendelse til distribuert programmering og tilgangskontroll. Emnet diskuterer også utformingen av språkkonstruksjoner for parallellisme, og vil bruke programmeringsspråket Emerald som basis. Emnet tar også en titt på implementeringen av distribuerte objekter, inkludert virtuelle maskiner, kompileringsteknikker, run-time typing, dynamisk programlasting og hvordan du distribuerer søppelinnsamlingen
Hva lærer du?
Etter å ha fullført emnet skal du:
- kunne forklare Emeralds typesystem og dets betydning for distribusjon
- kjenne til begrepene distribution, immutability, contra-variance, replikering, fjernkall, mobilitet, tråde, trådsynkronisering, trådmobilitet, og spilloppsamling
- kjenne til hovedprinsippene i distribuert spilloppsamling, fjernkall, tråder, objektklasser, objekttyper, synkronisering, pålitelighet og rask distribuerte applikasjoner
- kunne programmere større distribuerte programmer i Emerald med mange tråder og komplekse synkroniseringskrav, hvor objekterne er fordelt over hele verden
- kjenne til lysets hastighet og dets effekt på distribuerte systemer
- kunne anvende Planetlab til måling av performance til distribuerte systemer og applikationer
Opptak til emnet
Studenter må hvert semester søke og få plass på undervisningen og melde seg til eksamen i Studentweb. Studenter tatt opp til andre masterprogrammer enn IFI sine kan, etter søknad, få adgang til emnet hvis dette er klarert med eget program.
Dersom du ikke allerede har studieplass ved UiO, kan du søke om opptak til våre studieprogrammer, eller søke om å bli enkeltemnestudent.
Anbefalte forkunnskaper
IN1010 – Objektorientert programmering, IN2030 – Prosjektoppgave i programmering, IN2010 – Algoritmer og datastrukturer og IN3040 – Programmeringsspråk
Overlappende emner
- 10 studiepoeng overlapp med INF5510 – Distribuerte Objekter (videreført).
- 10 studiepoeng overlapp med IN9570 – Distribuerte objekter.
Undervisning
Forelesninger på 2 timer hver uke, med 6 timers forelesninger ca hver tredje uke. 2 timer med gruppetimer hver uke. Emnet baserer seg i stor grad på praktisk erfaring gjennom flere større programmeringsoppgaver.
Obligatoriske øvelser må være godkjent for å kunne gå opp til eksamen.
Det er obligatorisk oppmøte på første forelesning.
Eksamen
2 hjemmeeksamener i løpet av semesteret som hver teller 25% og en muntlig eksamen (skriftlig 4 timer digital eksamen hvis mer enn 20 kandidater) som teller 50% av karakteren.
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: INF5510 - Distribuerte Objekter (videreført), IN9570 - Distribuerte objekter
Hjelpemidler til eksamen
Muntlig/skriftlig eksamen: Alt skriftlig materiale er tillatt
Eksamensspråk
Eksamensoppgaven blir gitt på norsk. Hvis emnet undervises på engelsk vil oppgaven kun gis på engelsk. Du kan svare 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.