DM857: Introduktion til programmering

Det Naturvidenskabelige Studienævn

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

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

Godkendelsesdato: 31-03-2022


Varighed: 1 semester

Version: Godkendt - aktiv

Kommentar

Kurset indgår som obligatorisk ”conversion class” for Computational Biomedicine-kandidatstuderende, der ikke har haft fag inden for området, fx studerende med uddannelsesbaggrund inden for biologi.
Kurset samlæses med DS830.

Indgangskrav

Kurset kan ikke tages af kandidatstuderende i datalogi.
Kurset kan ikke følges hvis DM574, DM536, DM550, DM562, DS800, DS801, DS830 eller MM560 er bestået, eller hvis DM574, DM536, DM550, DM562, DS800, DS801, DS830 eller MM560 indgår obligatorisk i din studieordning.

Faglige forudsætninger

Ingen

Formål

Kurset giver en introduktion til struktureret programmering. Kurset giver et videnskabeligt grundlag for at løse problemer ved modellering og implementering af edb-programmer. Kurset bygger på de studerendes gymnasiale kompetencer i matematik og giver den studerende nødvendige forudsætninger for emner i andre kurser senere i uddannelsen, specielt DM847, DM868 og BMB834.

I forhold til uddannelsens læringsresultater har kurset eksplicit fokus på:

  • 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 give 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;
  • planlægge og gennemføre en afprøvning af programmet;
  • designe og implementere rekursiv løsning af problemer;
  • designe og implementere abstrakte datatyper;
  • anvende basale træstrukturer og algoritmer for disse.

Indhold

Kurset indeholder følgende faglige hovedområder:

  • De basale struktureringsredskaber sekvens, gentagelse, betinget instruktion og procedure.
  • Fundamentale datastrukturer som lister, maps, træer.
  • Struktureretprogrammeringsteknik, herunder eksempler og anvendelser.
  • Rekursion og rekursive data strukturer.
  • Eksempler på abstrakte datatyper og deres realisering.

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 med mundtligt forsvar

EKA

N340105102

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

Oplyses på kurset

ECTS-point

10

Uddybende information

Portfolioeksamen bestående af små individuelle opgaver, et gruppeprojekt og et mundtligr forsvar (med skriftlig rapport og mundligt forsvar).
Mundtligt forsvar afholdes i eksamensperioden - januar.

Vejledende antal undervisningstimer

66 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: 38, heraf  28 timer eksaminatorie og 10 timer laboratorie

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
Antonio Rago rago@qtc.sdu.dk Computational Science
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

Overgangsordninger

Overgangsordninger beskriver, hvordan et kursus erstatter et andet kursus, når der ændres i et studieforløb.
Hvis der er lavet en overgangsordning for et kursus vil den fremgå af oversigten.
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.