2010/2011

02635 Programmering af matematisk software

Engelsk titel: 


Programming for mathematical software

Sprog:


Point (ECTS )


5

Kursustype:   

Civil- Videregående Kursus
Kurset udbydes under åben uddannelse


Skemaplacering:

E1B

 

Undervisningsform:

Forelæsninger, øvelser og 2-3 mindre programmeringsprojekter.

Kursets varighed:

13-uger

Eksamensplacering:

E1B 

Evalueringsform:

Hjælpemidler:

Bedømmelsesform:

Faglige forudsætninger:

,

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++ da det over hele verden 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. Desuden betragtes matematiske algoritmers numeriske stabilitet. Dvs. om de er robuste overfor afrundingsfejl og overflow/underflow.

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 som afleveres for hver projekt.


Læringsmål:

En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • Designe og dokumentere strukturen i imperative og objekt-orienterede programmer.
  • Implementere et udarbejdet design.
  • Definere og konstruere datastrukturer og funktioner.
  • Analysere kørslen af et program.
  • Beskrive og anvende programmeringssprogs basale objekt-orienterede funktionaliteter (indkapsling, nedarvning, polymorfi).
  • Beskrive og anvende dynamiske datastrukturer.
  • Beskrive og anvende sekventielle og associative containere.
  • Kalde eksterne (tredjeparts) programmer og biblioteker.
  • Diskretisere simple kontinuerte matematiske udtryk og evaluere dem på en computer.
  • Implementere software til effektive beregninger på PC og andre platforme.
  • Redegøre for et implementeret programs numeriske stabilitet.

Kursusindhold:

Programmeringsparadigmer: imperativ programmering, objekt-orienteret programmering.
Datastrukturer: vektorer, køer, træer, nøgletabeller, lister, grafer.
Algoritmer: sortering, grafalgoritmer.
Programmeringsprojekter omfatter:
- Indlæsning af rigtige data.
- Kald af eksterne programmer og biblioteker (især numeriske).
- Andre platforme end en PC (mobil/GPU).
- Praktisk diskretisering af simple ligninger.
- Numerisk stabilitet.


Mulighed for GRØN DYST deltagelse:

Kontakt underviseren for information om hvorvidt dette kursus giver den studerende 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/kursustilmelding.aspx


Kursusansvarlig:

Paul Fischer, 322, 129, (+45) 4525 3713, paf@imm.dtu.dk  
Per Christian Hansen, 321, 012, (+45) 4525 3097, pch@imm.dtu.dk  
Mikkel Nørgaard Schmidt, 321, 132, (+45) 4525 5270, mns@imm.dtu.dk  

Institut:

02 Institut for Informatik og Matematisk Modellering

Tilmelding:

I CampusNet
Sidst opdateret: 28. april, 2012