DM857: Introduktion til programmering
Kommentar
15019201 (tidligere UVA) er identisk med denne kursusbeskrivelse.
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 DM550
Indgangskrav
Faglige forudsætninger
Formål
Kurset giver en introduktion til struktureret og objekt-orienteret programmering. Kurset giver et videnskabeligt grundlag for at løse problemer ved modellering og implementering af edb-programmer.
I forhold til uddannelsens læringsresultater har kurset eksplicit fokus på:
- giver kompetence til at planlægge og udføre computerprogrammer i Java
- 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
- giver kompetence i at håndtere komplekse og udviklingsorienterede situationer i studie- og arbejdssammenhænge
- giver kompetence i at identificere egne læringsbehov og strukturere egen læring i forskellige læringsmiljøer
- 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 objektorienterede 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 underprogram.
- Fundamentale datastrukturer som lister, maps, træer.
- Objektorienteret programmeringsteknik, herunder eksempler og anvendelser.
- Rekursion og rekursive data strukturer.
- Eksempler på abstrakte datatyper og deres realisering.
Litteratur
Eksamensbestemmelser
Eksamenselement a)
Tidsmæssig placering
Udprøvninger
Gruppe projekt med mundtlig forsvar
EKA
Censur
Bedømmelse
Identifikation
Sprog
Hjælpemidler
ECTS-point
Uddybende information
Vejledende antal undervisningstimer
Undervisningsform
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
For at sætte de studerende i stand til at nå læringsmålene for kurset tilrettelægges undervisningen således, at
- Introfase (forelæsning, holdtimer) - Antal timer: 42
- træningsfase: Antal timer: 42, heraf 18 timer eksaminatorei, 28 timer laboratorie
Aktiviteter i studiefasen: Programmering af mindre opgaver og små projekter.