DM575: Objektorienteret programmering

Det Naturvidenskabelige Studienævn

Undervisningssprog: På dansk eller engelsk afhængigt af underviser
EKA: N330060102
Censur: Intern prøve, to eller flere bedømmere
Bedømmelse: 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Forår
Niveau: Bachelor

STADS ID (UVA): N330060101
ECTS-point: 7.5

Godkendelsesdato: 12-10-2022


Varighed: 1 semester

Version: Arkiv

Indgangskrav

Kurset kan ikke følges hvis DM550 er bestået, eller hvis DM550 er obligatorisk i din studieordning.

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

Kurset indeholder følgende faglige hovedområder:

  • 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

Se itslearning for pensumlister og yderligere litteraturhenvisninger.

Eksamensbestemmelser

Eksamenselement a)

Tidsmæssig placering

Forår og juni

Udprøvninger

Portfolio med mundtlig forsvar

EKA

N330060102

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

Tilladt, nærmere beskrivelse af eksamensreglerne vil blive offentliggjort itslearning.

ECTS-point

7.5

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

48 timer per semester

Undervisningsform

På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.

  • 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 E-mail Institut
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

Profil Uddannelse Semester Udbuds periode

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.