Enkeltfag Engelsk 10 ECTS

Agil objektorienteret softwareudvikling

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.).

See course description in English

Læringsmål

  • 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.)

Anbefalede forudsætninger

02002/02003/02631, Erfaring med procedural programming

Undervisningsform

Seminarer og træningskurser. Træningskurser omfatter løsningen af mindre øvelser samt udvikling af et softwaresystem i hold på 4-6 studerende. Projektopgaven dokumenteres ved at køre software, og at præsentere testresultater og rapporter, der er inkluderet i den samlede vurdering af kurset.

Fakultet

Se kurset i kursusbasen

Tilmelding

Sprog

Engelsk

Varighed

13 uger

Institut

Compute

Sted

DTU Lyngby Campus

Kursus ID 02160
Kursustype Bachelor
Semesterstart Uge 5
Semester slut Uge 19
Dage ons 8-17
Pris

15.000,00 kr.

Tilmelding