TDT4102: Prosedyre- og objektorientert programmering
# Læringsmål
Fra https://www.ntnu.no/studier/emner/TDT4102/2013
## Kunnskap:
Har bred og praktisk orientert kunnskap om programmeringsspråket C++. Kan syntaks og regler for variabeldeklarasjoner og datatyper, typekonvertering, kontrollstrukturer, funksjoner og operatorer, overlagring, klasser, arv, templates, unntakshåndtering.
Har kunnskap om automatisk og dynamiske variabler og bruk av pekere.
Har kunnskap om rekursjon, enkle algoritmer og datastrukturer.
Har kunnskap om prosedural og objektorientert modularisering av koden og har kunnskap om hvordan kode kan organiseres i flere kildekodefiler, kompilering og lenking.
Har kunnskap om standarbiblioteket, inn/ut datahåndtering, vanlig brukte funksjoner og template-klasser.
Har kunnskap om moderne utviklingsverktøy, teknikker for feilfinning og enkel testing av egen kode.
Har kunnskap om diagramtyper for objektorienterte programmer.
## Ferdigheter:
Kan utvikle et program fra problembeskrivelse til fungerende og feilfri løsning.
Kjenner vanlige brukte kodingsteknikker og kan jobbe iterativt og effektivt med konstruksjon av egen kode.
Kan programmere proseduralt hvor koden er fornuftig modularisert i funksjoner og objektorientert hvor koden er organisert i klasser. Kan velge hvilke hvilken løsning som er best for et gitt problem.
Kan skrive kode som er gjenbrukbar, lesbar og enkel å vedlikeholde.
Kan lese kode og forstå hvordan koden oppfører seg i kjøretid.
## Generell kompetanse:
Kan jobbe effektivt med med å analysere et problem og konstruere en løsning.
Kan kommunisere og diskutere kodeløsninger og forklare hvordan et program fungerer.
Kan finne frem til å benytte nødvendige hjelpemidler, kan bruke dokumentasjon for programmeringsspråket og standarbiblioteket.