IDATT2001
Programmering 2
Sist undervist 2022
Vår
Trondheim
Norsk
Om emnet
Faglig innhold
Dette emnet skal dekke følgende tema:
- Samarbeid mellom objekter. Lister, søking og sortering. Sammenligne objekter.
- Arv og polymorfi
- GUI
- Datafiler og serialisering
- Unntakshåndtering
- Funksjonell programmering.
- Designmønster
- Integrerte utviklingsmiljø. Debugging. Enhetstesting. Versjonskontroll.
- Databaser og object-relational mapping (ORM)
Læringsmål
Kunnskap
Kandidaten skal:
- kunne forklare hvordan arv og polymorfi bidrar til generalisering av problemløsning
- kunne modellere klassediagram som består av flere klasser med aggregering, komposisjon og generalisering gitt en problemstilling
- kunne vise hvordan referanser og objekter henger sammen i et gitt program
- kjenne til sentrale begreper innen objektorientert og funksjonell programmering og kan gjøre rede for disse
- kunne forklare hva en object-relational mapping (ORM)/database-løsning er og begrunne når det kan være fornuftig å bruke slike løsninger
Ferdigheter
Kandidaten skal:
- kunne bruke arv og polymorfi for å lage fleksible, utvidbare og bærekraftige løsninger
- kunne bruke og forstå API-dokumentasjonen til å finne informasjon om klasser og metoder (D)
- kunne bruke ferdige metoder i API-et til sortering og søking i tabeller og i lister
- kunne programmere en objektorientert løsning gitt klassediagram som består av flere klasser med aggregering, komposisjon og generalisering
- kunne bruke et integrert utviklingsmiljø (IDE), debugger, enhetstester og versjonskontroll
Kandidaten kan lage program:
- med delegering av oppgaver mellom objekter og der arv og polymorfi benyttes
- med enkle grafiske brukergrensesnitt
- som bruker funksjonell programmering og høyere nivå funksjoner
- som benytter ORM (object-relational mapping)
Generell kompetanse
Kandidaten skal:
- kunne anvende objektorientert tankegang til å analysere og løse problemer
- kunne anvende elementer fra funksjonell programmering
- skal være i stand til å vurdere etiske forhold knyttet til OOP, enhetstesting og versjonskontroll
Læringsformer og aktiviteter
Forelesninger/workshops og øvinger.