Overordnede kursusmål
Målet med kurset er at formidle de grundlæggende begreber i
object-oriented programming, og at sætte studerende i stand til at
anvende disse begreber ved at bruge typiske objektorienterede
programmeringssprog. Den studerende vil kunne være i stand til at
læse programkode og at analysere programmets adfærd. Derudover vil
den studerende være i stand til at anvende moderne agile
softwareudviklingspraksis i sammenhæng med mindre
softwareudviklingsprojekter, både ved at udvide eksisterende
software og at udvikle nye funktionaliteter. Der vil fokuseres på
kvalitetssikring, bl.a. automatiserede test og kontinuerlig
integration. Yderligere lærer den studerende at arbejde i teams, at
præsentere sit arbejde og dokumentere det. Den studerende lærer
også at arbejde med aktuelle softwareudviklingsværktøjer (f.eks.
IDE'er osv.).
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- Forklare principperne for objektorienterede
programmeringssprog
- Udvikle software ved hjælp af objektorienterede principper i
det introducerede programmeringssprog til at håndtere indkapsling,
abstraktion, arv og polymorfisme
- Modellere software ved hjælp af begreberne af brugerhistorier
og adfærdsdrevet udvikling
- Anvende begregerne af automatiseret test, refactoring og
genbrug af eksisterende kode og biblioteker
- Forklare betydningen af systematisk fejlsøgning og være i stand
til at anvende den
- Anvende begreberne af versionskontrol og kontinuerlig
integration
- Anerkende og være i stand til at anvende et par ukomplicerede
designmønstre
- Forklare fordelene ved en valgt softwarearkitektur
- Udføre et multi-ugers softwareteamprojekt, der anvender
parprogrammering og dækker brugerhistorier, kører software, test og
dokumentation
- Præsentere koncis projektiterationsresultater (dvs. at køre
software og andre artefakter)
- Skrive en klar og velstruktureret rapport, der dokumenterer
alle de centrale aspekter af et softwareudviklingsprojekt
- Håndtere udviklingen af et softwareprodukt i et agil
team
Kursusindhold
Kurset introducerer en almindeligt anvendt objektorienteret
programmeringssprog, og anvender agile udviklingsmetoder, der
dækker følgende emner:
Emnerne, der præsenteres, er:
▪ Primitive typer og klassetyper
▪ Grundlæggende programmeringskonstruktioner (loops, branching
statements, osv.)
▪ Værdier, operatører og udtryk
▪ Klasser, objekter, felter og metoder
▪ Brug af biblioteker
▪ Design af klasser, hierarkier, arv
▪ Abstraktion (abstrakte klasser, grænseflader)
▪ Fejl- og undtagelseshåndtering
▪ Grundlæggende designmønstre og softwarearkitekturer
▪ Pair programming
▪ Brugerhistorier, adfærdsdrevet udvikling, test af enheder
▪ Debugging, refactoring
▪ Versionskontrol, kontinuerlig integration
▪ Brug af udviklingsværktøjer (IDE osv.)
Sidst opdateret
02. maj, 2024