DM562: Scientific programming  

Det Naturvidenskabelige Studienævn

Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N330025102
Censur: Intern prøve, to eller flere bedømmere
Bedømmelse: 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Efterår
Niveau: Bachelor

STADS ID (UVA): N330025101
ECTS-point: 10

Godkendelsesdato: 15-03-2021


Varighed: 1 semester

Version: Arkiv

Kommentar

NYT kursus E18
Kurset samlæses med DM857 og DS830

Indgangskrav

Kurset kan ikke følges hvisDM536, DM550, DM857, DS800, DS801, DS830 eller MM560 er bestået, eller hvis DM536, DM550, DM857, DS800, DS801, DS830 eller MM560 indgår obligatorisk i din studieordning.

Faglige forudsætninger

Ingen

Formål

Kurset giver en introduktion til struktureret programmering, med særligt fokus på anvendelsesområdet scientific computing. Kurset giver et videnskabeligt grundlag for at løse problemer via modellering og implementering af programmer, og lærer herunder de studerende, hvordan metoder fra lineær algebra kan bringes i anvendelse via programmering. 

Kurset bygger oven på den viden, der er erhvervet i kurserne MM505 og giver den studerende nødvendige forudsætninger for kurser senere i uddannelsen, specielt DM507 og MM546.

I forhold til uddannelsens kompetenceprofil har kurset
eksplicit fokus på at:

  • at give kompetence til at planlægge og udføre computerprogrammer
  • viden om fælles programmering metoder
  • udvikling af færdigheder i at programmere i flere typer programmeringssprog
  • udvikling af færdigheder i softwareudvikling
  • udvikling af færdigheder i at konstruere større softwaresystemer
  • udvikling af færdigheder i at træffe og begrunde fagligt relaterede beslutninger
  • udvikling af færdigheder i at beskrive, formulere og formidle problemstillinger og resultater til enten fagfæller og ikke-specialister eller samarbejdspartnere og brugere
  • at give kompetence i at håndtere komplekse og udviklingsorienterede situationer i studie- og arbejdssammenhænge
  • at give kompetence i at identificere egne læringsbehov og strukturere egen læring i forskellige læringsmiljøer
  • at giver kompetence til at designe højere niveau software arkitekturer

Målbeskrivelse

For at opnå kursets formål er det læringsmålet for kurset,
at den studerende demonstrerer evnen til at:

  • designe modeller for konkrete problemer
  • udarbejde en programstruktur baseret på modellen
  • implementere det planlagte program i det konkret anvendte
    programmeringssprog.
  • finde og bruge egnede elementer i det til sproget hørende
    programbibliotek.
  • lanlægge og gennemføre en afprøvning af programmet.
  • designe og implementere rekursiv løsning af problemer;
  • anvende basale træstrukturer og algoritmer for disse.
  • lave programmer, som anvender metoder fra lineær algebra

Indhold

Kurset indeholder følgende faglige hovedområder: 

  • De basale struktureringsredskaber sekvens, gentagelse, betinget
    instruktion og underprogram.
  • Fundamentale datastrukturer som lister, maps, træer.
  • Struktureretprogrammeringsteknik, herunder eksempler og anvendelser.
  • Rekursion og rekursive data strukturer.
  • Eksempler på abstrakte datatyper og deres realisering.
  • Lineær algebra og programmering
  • Anvendelser af programmering baseret på metoder fra
    lineær algebra 

Kurset undervises i Python.

Litteratur

Se itslearning for pensumlister og yderligere litteraturhenvisninger.

Eksamensbestemmelser

Eksamenselement a)

Tidsmæssig placering

Efterår og januar

Udprøvninger

Portfolio

EKA

N330025102

Censur

Intern prøve, to eller flere bedømmere

Bedømmelse

7-trinsskala

Identifikation

Fulde navn og SDU brugernavn

Sprog

Følger, som udgangspunkt, undervisningssprog

Hjælpemidler

Tilladt

ECTS-point

10

Uddybende information

Portfolioeksamen med mundtlig forsvar består af små individuelle opgaver og et gruppeprojekt (med skriftlig rapport og mundligt forsvar). Den mundtlige eksamens er placeret i eksamensperioden i januar måned.
Eksamensformen ved reeksamen kan være en anden end eksamensformen ved den ordinære eksamen.

Vejledende antal undervisningstimer

56 timer per semester

Undervisningsform

På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.

  • Introfase (forelæsning, holdtimer) - Antal timer: 28
  • træningsfase: Antal timer: 28, heraf eksaminatorietimer 20 timer, laboratorieøvelser 8 timer.

I introfasen benyttes en kombination af klassiske forelæsninger, hvor fagets grundbegreber og metoder præsenteres, og mere anvendelsesorienterede forløb, hvor der undervises i hvordan den opnåede viden kan anvendes i konkrete scenarier.

Træningsfasen er opdelt i eksaminatorier og labs, hvor de studerende lærer de kompetencer, der sætter dem i stand til at omsætte deres viden til løsning og efterfølgende til konkrete computerprogrammer.

I studiefasen arbejder de studerende selvstændigt med at øge deres forståelse og deres kompetencer vedrørende fagets indhold. Aktiviteter i studiefasen: Programmering af små opgaver og projekter.

    Ansvarlig underviser

    Navn E-mail Institut
    Marco Peressotti Peressotti@imada.sdu.dk Concurrency

    Skemaoplysninger

    Administrationsenhed

    Institut for Matematik og Datalogi (datalogi)

    Team hos Uddannelsesjura & Registratur

    NAT

    Udbudssteder

    Odense

    Anbefalede studieforløb