DM550: Introduktion til Programmering
Kommentar
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
Eksamensformen ved reeksamen kan være en anden end eksamensformen ved den ordinære eksamen.
Vejledende antal undervisningstimer
Undervisningsform
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
Disse undervisningsaktiviteter udmønter sig i en anslået vejledende fordeling af arbejdsindsatsen hos en gennemsnitsstuderende på følgende måde:
- Introfase (forelæsning, holdtimer) - Antal timer: 42
- træningsfase: Antal timer: 42, heraf 14 timer eksaminatorie og 28 timer laboratorie
- Studiefase: Antal timer: 10
og 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.