Overordnede kursusmål
At gøre deltagerne i stand til at skrive software som kan løse
numeriske problemer på baggrund af en matematisk model.
At give deltagerne en indføring i imperativ og objekt-orienteret
programmering samt evnen til at kunne gøre brug af disse paradigmer
vha. gængse imperative og objekt-orienterede programmeringssprog. I
kurset anvendes C/C++, da C-baserede programmeringsprog anvendes i
stor udstrækning til programmering af matematisk software.
Deltagerne indføres også i de grundlæggende algoritmer og
datastrukturer, der ofte anvendes til programmering af matematisk
software.
For at sikre at man som deltager udvikler praktiske færdigheder,
arbejdes der i kurset med mindre matematiske projekter, hvor
programmering indgår som et uundværligt værktøj. Desuden trænes
dokumentering af software i rapporter.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- Evaluere diskrete og kontinuerte matematiske udtryk.
- Beskrive og bruge datastrukturer såsom lister, arrays, og tyndt
befolkede matricer.
- Vælge passende datatyper og datastrukturer til et givent
problem.
- Sammenligne iterativ og rekursiv løsning af simple
problemer.
- Analysere kørslen af et simpelt program, herunder tids- og
pladskompleksitet.
- Kalde eksterne (tredjeparts) programmer og biblioteker.
- Designe, implementere og dokumentere et program som løser et
matematisk problem.
- Fejlfinde og teste matematisk software.
- Beskrive og anvende basale objektorienterede
programmeringskoncepter såsom klasser og objekter.
- Forklare afrundingsfejl og flydende-komma-repræsentation af
reelle tal.
Kursusindhold
Programmeringsparadigmer: imperativ programmering,
objekt-orienteret programmering.
Datastrukturer: lister, arrays, tyndt befolkede matricer.
Programmeringsprojekter omfatter:
- Indlæsning af data.
- Kald af eksterne programmer og biblioteker (især numeriske).
- Optimering og parallelisering.
Sidst opdateret
29. april, 2021