02635 Programmering af matematisk software

2018/2019

Kursusinformation
Mathematical software programming
Engelsk
5
Kandidat
Kurset udbydes som enkeltfag
E1B (tors 13-17)
Campus Lyngby
Forelæsninger, øvelser og mindre programmeringsprojekter.
13-uger
E1B, F1B
Skriftlig eksamen og bedømmelse af rapport(er)
4 timer
Alle hjælpemidler er tilladt
7-trins skala , intern bedømmelse
02525/02631/02633 , eller tilsvarende kursus der giver kendskab til grundlæggende datalogiske begreber som løkker, variabeltyper og simple matematiske operationer.
Martin Skovgaard Andersen , Lyngby Campus, Bygning 303B, Tlf. (+45) 4525 3036 , mskan@dtu.dk

01 Institut for Matematik og Computer Science
I studieplanlæggeren
Dette kursus giver den studerende en mulighed for at lave eller forberede et projekt som kan deltage i DTUs studenterkonference om bæredygtighed, klimateknologi og miljø (GRØN DYST). Se mere på http://www.groendyst.dtu.dk
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 arrays, kædede lister, stakke og køer.
  • 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: arrays, kædede lister, stakke, køer.
Programmeringsprojekter omfatter:
- Indlæsning af data.
- Kald af eksterne programmer og biblioteker (især numeriske).
- Optimering og parallelisering.
Sidst opdateret
01. maj, 2018