DM585: Distribueret og web-programmering
Kommentar
Indgangskrav
Faglige forudsætninger
Formål
Kurset bygger oven på den viden, der er erhvervet i DM510 og DM584, og giver grundlag og værktøjer at designe og implementere distribuerede applikationer baseret på webteknologier. Disse kan anvendes i bachelorprojekter og masteruddannelser, f.eks. DM883, DM885, DM861.
I forhold til uddannelsens kompetenceprofil har kurset eksplicit fokus på:
- viden om principper for konstruktion af distribuerede systemer ved hjælp af webteknologier;
- viden om et stort udvalg af centrale algoritmer og datastrukturer;
- udvikling af færdigheder i at analysere fordele og ulemper ved forskellige algoritmer og udvikle nye varianter;
- 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;
- værdiskabelse gennem innovative processer.
Studerende vil blive introduceret til innovative processer, konkretiseret gennem et eget projekt. De studerende opnår kompetencer i værdiskabelse gennem innovative processer ved hjælp af blandt andet nøgleelementer fra forløbet.
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:
- forklare grundlæggende problemer, teknikker og løsninger til distribuerede applikationer;
- identificere og anvende arkitektoniske og API-designmønstre;
- designe distribuerede applikationer modeller for konkrete problemer;
- beskrive og dokumentere det planlagte distribuerede applikationer ved hjælp af standardformater;
- implementere det planlagte distribuerede applikationer og gennemføre en systematisk aftestning.
- realisere innovativ informationsbehandling baseret på en forretningsmodel.
Indhold
Kurset indeholder følgende faglige hovedområder:
- Webteknologier.
- Mikroservicearkitekturer.
- API-designmønstre.
- Replikering, konsistens og fejltolerance.
- Konsensus og enighed i distribuerede systemer.
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
Portfolio eksamen består af:
- Indidicuelle opgaver
- Gruppe projekt - bestående af en skriftlig rapport og et mundtlig forsvar (den mundtlige del afholdes i eksamensperioden)
Vejledende antal undervisningstimer
Undervisningsform
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
- Introfase (forelæsning): 18 timer
- Træningsfase: 18 timer.
Ansvarlig underviser
Skemaoplysninger
Administrationsenhed
Team hos Uddannelsesjura & Registratur
Udbudssteder
Anbefalede studieforløb
Profil | Uddannelse | Semester | Udbuds periode |
---|---|---|---|
BA centralt fag i datalogi et-faglig - optag 1. september 2022 og 2023 | Bachelor i datalogi | Odense | 5 | E23 |
Overgangsordninger
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.