DM575: Objektorienteret programmering
Indgangskrav
Faglige forudsætninger
Den studerende forventes at være bekendt med det grundlæggende i struktureret og imperativ programmering. At have fulgt DM574 Introduktion til programmering er tilstrækkeligt.
Formål
Kurset har til formål at give eleverne evnen til at "tænke med objekter", når de designer og bygger et komplekst softwaresystem.
Kurset giver et fagligt grundlag for objektorienteret design og programmering.
I forhold til uddannelsens kompetenceprofil har kurset eksplicit fokus på:
- viden om et stort udvalg af centrale algoritmer og datastrukturer udviklet inden for datalogi;
- programmere i flere typer programmeringssprog;
- konstruere større softwaresystemer;
- træffe og begrunde fagligt relaterede beslutninger;
- beskrive, formulere og formidle problemstillinger og resultater til enten fagfæller og ikke-specialister eller samarbejdspartnere og brugere;
- håndtere komplekse og udviklingsorienterede situationer i studie- og arbejdssammenhænge;
- udvikle nye varianter af centrale algoritmer og datastrukturer udviklet inden for datalogi;
- indgå i fagligt samarbejde med en professionel tilgang på baggrund af gruppebaseret projektarbejde;
- identificere egne læringsbehov og strukturere egen læring i forskellige læringsmiljøer.
Kursets indhold er essentielt for senere kurser i algoritmer og softwareudvikling, hvor de studerende skal kunne programmere komplekse softwaresystemer.
Målbeskrivelse
Kursets læringsmål er, at den studerende demonstrerer selvstændighed i analyse, design og programmering af komplekse systemer ved hjælp af en objektorienteret tilgang.
Efter kurset forventes den studerende at kunne:
- designe objektorienteret modeller for konkrete problemer;
- udarbejde en klassehierarki baseret på modellen;
- beskrive og dokumentere det planlagte klassehierarki ved hjælp af standardformater som UML;
- implementere det planlagte klassehierarki i det konkret anvendte programmeringssprog;
- planlægge og gennemføre en systematisk aftestning af klassehierarki og objektorienteret program (enhed, komponent, integrationstest).
Indhold
- objektorienteret design, arkitektur og principper.
- abstraktion, indkapsling, nedarvning, polymorfi.
- det grundlæggende i UML klasse- og sekvensdiagrammer.
- designmønstre f.eks. factory, singleton, composite, decorator, observer, strategy, command, visitor.
Kurset undervises i Java.
Litteratur
Eksamensbestemmelser
Eksamenselement a)
Tidsmæssig placering
Udprøvninger
Portfolio med mundtlig forsvar
EKA
Censur
Bedømmelse
Identifikation
Sprog
Hjælpemidler
ECTS-point
Uddybende information
Portfolio eksamen bestående af:
- små individuelle opgaver
- gruppeprojekt, som består af en skriftlig rapport med mundtligt forsvar. Mundtligt forsvar afholdes i løbet af eksamensperioden.
Vejledende antal undervisningstimer
Undervisningsform
- Introfase 24 timer
- Træningsfase 24 timer
Aktiviteter i studiefasen:
- Selvstudium af visse emner fra lærebogen.
- Selvstændig opsamling på intro og træningsfasen.
- Løsning af små opgaver, individuelt eller i små grupper.
Ansvarlig underviser
Navn | Institut | |
---|---|---|
Robin Kaarsgaard Sales | kaarsgaard@imada.sdu.dk | Institut for Matematik og Datalogi |
Sandra Greiner | greiner@imada.sdu.dk | Institut for Matematik og Datalogi |
Skemaoplysninger
Administrationsenhed
Team hos Uddannelsesjura & Registratur
Udbudssteder
Anbefalede studieforløb
Overgangsordninger
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.