English   Danish

2021/2022  BA-BMECO1803U  Numeriske algoritmer og datalogi

English Title
Numerical Algorithms and Computer Science

Kursusinformation

Sprog Dansk
Kursets ECTS 15 ECTS
Type Obligatorisk
Niveau Bachelor
Varighed To semestre
Starttidspunkt Efterår, Forår
Tidspunkt Skemaet bliver offentliggjort på calendar.cbs.dk
Studienævn
MEC Studienævnet for HA/cand.merc. i erhvervsøkonomi og matematik, BSc
Kursusansvarlig
  • Faglig forankring:
    Dorte Kronborg - Institut for Finansiering (FI)
  • Fagansvarlig og underviser
    Hans Christian Pedersen - Institut for Finansiering (FI)
Primære fagområder
  • Statistik og kvantitative metoder/Statistics and quantitative methods
Undervisningsformer
  • Blended learning
Sidst opdateret den 26-04-2022

Relevante links

Læringsmål
Den studerende skal kunne:
  • definere og beskrive det aktuelle problem ud fra et foreliggende projektoplæg – problemformuleringen skal anvende matematisk notation, hvor det er relevant.
  • definere de delproblemer, der indgår og beskrive numeriske metoder til deres løsning.
  • beskrive en overordnet løsningsmodel, der samler løsningsmetoderne til de identificerede delproblemer.
  • beskrive en plan for implementering af den overordnede løsningsmodel og definere implementerbare algoritmer for de indgående numeriske løsningsmetoder.
  • anvende grundbegreber i C++ til udviklingen af et program, der implementerer løsningsmodellen,
  • anvende en modulariseret kodningsproces og udføre afgrænsede tests af enkeltmoduler ved brug af Mathematica.
  • teste, analysere og diskutere de anvendte løsningsmetoders og det fremstillede programs evne til at løse det givne problem
  • dokumentere hele arbejdsprocessen i en rapport.
Prøve/delprøver
Numeriske algoritmer og datalogi:
Prøvens ECTS 15
Prøveform Mundtlig stedprøve
Individuel eller gruppeprøve Individuel prøve
Varighed 20 min. pr. studerende, inkl. votering, karaktergivning og begrundelse
Forberedelse Uden forberedelse
Bedømmelsesform 7-trins-skala
Bedømmer(e) Eksaminator og bi-eksaminator
Eksamensperiode Sommer
Syge-/omprøve
Samme prøveform som ved ordinær prøve
Beskrivelse af eksamensforløbet

Den mundtlige eksamen består typisk af en ca. 7-10 minutter lang præsentation af et kendt spørgsmål udtrukket tilfældigt. Den studerende kan benytte medbragte slides til denne præsentation. Der kan spørges ind til fremstillingen under og efter præsentationen. Derefter udprøves der i resten af pensum uden hjælp fra slides.

Kursets indhold, forløb og pædagogik

Formålet med faget:
At give den studerende forståelse af centrale datalogiske grundprincipper og et overblik over den del af det datalogiske fagområde, som er relevant for løsning af beregningsorienterede opgaver af matematisk karakter. At gøre den studerende i stand til at anvende computeren og numeriske metoder til løsning af problemer inden for erhvervsøkonomi, matematik og statistik.

Fagets hovedemner:
Grundbegreber i programmeringssproget C++ og udvikling af programmer i C++.
Brug af den matematiske programpakke Mathematica.
Introduktion til numerisk analyse og brug af numeriske metoder.
Løsning af opgaver med matematisk-økonomisk relevans på en computer.
Introduktion og anvendelse af en struktureret udviklingsproces til fremstilling af programmer.


Pædagogisk profil
Faget har to parallelle og tæt integrerede forløb:
Et begrebs- og disciplinorienteret forløb, der dækkes af forelæsninger for hele årgangen, og som leverer projektoplæg og præsentation af grundlæggende begreber og teknikker i henholdsvis C++ og numerisk analyse. Samt et proces- og projektorienteret forløb, der dækkes øvelseslektioner med brug af computere, hvor årgangen er opdelt i øvelseshold. I begyndelsen af øvelsesrækken arbejdes med mindre øvelsesopgaver. Som øvelsesrækken skrider frem, vokser opgaverne i omfang og kompleksitet, og efter to måneder påbegyndes arbejdet med den første af fagets to større projektopgaver. Metodegrundlaget for øvelsesopgaver og projekter er numerisk analyse.
I begge projektopgaver kræves gennemførelse af et komplet projektforløb: Problemformulering og afgrænsning, beskrivelse og analyse af løsningsmetoder, udvikling af algoritmer og af en samlet beregningsstrategi, samt planlægning, implementering, test og analyse af det fremstillede program. Hele arbejdet skal beskrives i en rapport, som afleveres til bedømmelse. Der gives karakter efter 7-trins skalaen for henholdsvis rapport, programkode og det samlede projektarbejde. Forelæsningerne støtter med gennemgang af relevant materiale i hele projektforløbet. Der arbejdes i grupper, aflevering af de to projektopgaver er stærkt anbefalet men ikke obligatorisk, og de givne karakterer er interne og kun vejledende.    

Arbejdsmængden og bedømmelsen af et projektarbejde er helt som ved den tredje og obligatoriske  projektopgave, der stilles ved fagets eksamen. Den eneste forskel er, at eksamensprojektet kræver individuel besvarelse.
Eksamen: Prøven består i løsning af en 14 dages skriftlig hjemmeopgave ud fra et projektoplæg og metodebeskrivelser, som gives i opgaveformuleringen. Opgaven vurderes efter 7-trins skalaen. Bedømmelsen foretages alene af fagets lærer. Opgaven besvares individuelt med  individuel bedømmelse,

 

Beskrivelse af undervisningsformer
Undervisningen består af forelæsninger med øvelser
Feedback i undervisningen

Feedback på ugentlige opgaver samt til to større kursusopgaver. Derudover feedback på en række frivillige opgaver som stilles henover semesteret og opgavegennemgang er der mulighed for at sammenligne egne løsningstilgange med de løsninger, der fremstilles i plenum. Der er desuden mulighed for selv at bidrage til den fælles opgaveløsning og at få feedback på dette bidrag.
Studenterarbejdstimer
Forelæsninger 96 timer
Øvelser 140 timer
Frivilligt semesterprojekt 80 timer
Workshop 1, vedr. seminar med øvelser 16 timer
Workshop 2, vedr. obligatorisk projekt 80 timer
Foreløbig litteratur

Pensum i C++:
Simple variable og datatyper. Talformater og nøjagtighed af beregninger. Inddata og uddata via tastatur og skærm. Forgreninger. Løkker. Sammensatte datastrukturer: én- og to-dimensionale tabeller.  Funktioner. Funktionsbiblioteker. Udveksling af data mellem et program og datafiler. Pointere.

Pensum i numerisk analyse:
Numerisk integration ved Simpsons metode og Taylorrækker. Interpolation ved Lagrangeinterpolation og kubiske splines. Bestemmelse af 0-punkter for funktioner ved Newton-Raphson iteration, bisection og sekantmetoden. Horners skema til beregning af værdier af polynomier, samt differentiation og deflation af polynomier. Løsning af systemer af lineære ligninger ved Gauss elimination, backwards substitution og pivotering. LU-faktorisering og introduktion til SVD-faktorisering. Bestemmelse af egenværdier ved potensmetoden og invers iteration.

Pensum i Mathematica:
Systematisk anvendelse til analytisk problemløsning som computerstøtte for undervisningen i matematik.
Systematisk anvendelse til numerisk problemløsning og grafiske formål som støtte for programudvikling.

Programmer:
Den (for tiden) anvendte version af C++: Microsoft Visual C++ 6.
Den (for tiden) anvendte version af Mathematica: Mathematica 6 for students.

Lærebøger og undervisningsmateriale:
C++ og numerisk analyse undervises efter et sæt noter, der er skrevet til faget og revideres løbende.
Mathematica undervises efter lærebogen:  Getting Started with Mathematica. Cheung, Keough, m.fl.

Sidst opdateret den 26-04-2022