course-details-portlet

PROG1003

Objektorientert programmering

Velg studieår

Nytt fra studieåret 2019/2020

Studiepoeng 7,5
Nivå Grunnleggende emner, nivå I
Undervisningsstart Vår 2020
Varighet 1 semester
Undervisningsspråk Norsk
Sted Gjøvik
Vurderingsordning Hjemmeeksamen

Om

Om emnet

Faglig innhold

Prinsippene i objekt-orientering

Innføring i språkmekanismer i C++:
- Klasser og objekter
- Constructors / Destructors
- Arv
- Virtuelle funksjoner / polymorfisme / sen binding
- Pekere
- new / delete
- Dynamisk allokering
- Parameteroverføring (ved verdi/referanse)
- C++ strings
- Funksjonspekere (C-style og C++ style)

Bruk av biblioteksfunksjoner:
- C++ containers: lists, arrays, maps
- C++ standard algoritmer: f.eks. sort

Annet:
- Verktøy for versjonskontroll
- Større program/prosjekt (applikasjon) bestående av flere filer
- Kodeanalyse (vha. verktøy) og testing (skjemautfylling)
- Dokumentasjon / kommentering

Læringsutbytte

Kunnskap
Kandidaten:
- kjenner til prinsippene innen objektorientert programmering
- har kunnskap om når og hvordan en bør organisere kildekode i klasser
- har kunnskap om alternative programmeringsparadigmer til objektorientert programmering
- kjenner til kvalitets- og sikkerhetsaspekter ved utvikling og vedlikehold av programvare

Ferdigheter
Kandidaten:
- kan organisere kildekode i en eller flere klasser, og dra nytte av de valgte strukturene
- kan ved behov reorganisere klassestrukturer i programvare for å lette vedlikehold og videreutvikling
- kan dra nytte av utviklingsteknikker relatert til objektorientert programmering og andre relevante programmeringsparadigmer
- kan bruke verktøy for versjonskontroll og kodeanalyse, samt utføre tester av kildekode

Generell kompetanse
Kandidaten:
- kan estimere kompleksitet og identifisere ressursbehov til nye utviklingsprosjekt
- kan planlegge og bygge større programvareløsninger der funksjonalitet og data er fordelt på en slik måte at vedlikehold og videreutvikling av programvaren blir mindre ressurskrevende
- kan jobbe sammen med, og dra nytte av, andre utviklere i et utviklingsprosjekt

Læringsformer og aktiviteter

- Forelesninger

- Obligatoriske oppgaver

- Oppgaveløsning

- Prosjektarbeid

 

Obligatoriske arbeidskrav:

Minst 2 av 3 obliger pluss prosjektoppgave må være godkjent. Klart mangelfullt arbeid, ikke selvstendig eget arbeid eller innleveringsfrist som ikke overholdes regnes som ikke-levert.

Obligatoriske aktiviteter

  • Prosjektoppgave og obligatoriske arbeidskrav

Mer om vurdering

Utsatt eksamen/kontinuasjon i august.

Spesielle vilkår

Kursmateriell

Kunngjøres senere.

Studiepoengreduksjon

Emnekode Reduksjon Fra
IMT1082 7,5 sp
DCST1007 7,5 sp
Dette emne har faglig overlapp med emnene i tabellen over. Om du tar emner som overlapper får du studiepoengreduksjon i det emnet du har dårligst karakter i. Dersom karakteren er lik i de to emnene gis det reduksjon i det emnet som er avlagt sist.

Kontaktinformasjon

Emneansvarlig/koordinator

Ansvarlig enhet

Institutt for datateknologi og informatikk