DM857: Introduktion til programmering
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
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
Eksamensbestemmelser
Eksamenselement a)
Tidsmæssig placering
Udprøvninger
Portfolio med mundtligt forsvar
EKA
Censur
Bedømmelse
Identifikation
Sprog
Hjælpemidler
ECTS-point
Uddybende information
Mundtligt forsvar afholdes i eksamensperioden - januar.
Vejledende antal undervisningstimer
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 | Institut | |
---|---|---|
Antonio Rago | rago@qtc.sdu.dk | Computational Science |
Marco Peressotti | Peressotti@imada.sdu.dk | Concurrency |
Skemaoplysninger
Administrationsenhed
Team hos Uddannelsesjura & Registratur
Udbudssteder
Anbefalede studieforløb
Profil | Uddannelse | Semester | Udbuds periode |
---|---|---|---|
KA Centralfag i Biomedicinsk informatik et-faglig - optag 1. september 2021, 2022 og 2023 | Kandidat i biomedicinsk informatik (cand.scient.) | Kandidat i biomedicinsk informatik | Odense | 1 | E23 |
Overgangsordninger
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.