Programmering af matematisk software
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.
See course description in English
Læringsmål
- 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.
Anbefalede forudsætninger
02525/02002/02631/02633/02601, eller tilsvarende kurser der giver kendskab til numeriske metoder samt grundlæggende datalogiske begreber som løkker, variabeltyper og simple matematiske operationer.
Undervisningsform
Forelæsninger, øvelser og mindre programmeringsprojekter.