DM519: Concurrent Programming (5 ECTS)

STADS: 15009701

Niveau
Bachelorkursus

Undervisningsperiode
Kurset er placeret i forårssemesteret.
3. kvartal

Ansvarlige undervisere
Email: petersk@imada.sdu.dk

Skemaoplysninger
Hold Type Dag Tidsrum Lokale Uger Kommentar
Fælles I Mandag 14-16 U20 05-11
Fælles I Tirsdag 08-10 U20 05
Fælles I Torsdag 14-16 U20 07,09
Fælles I Torsdag 10-12 U140 11
S1 TE Tirsdag 14-16 U147 05-11
S1 TE Fredag 10-12 U144 06,08,10-11
S7 TE Mandag 12-14 U147 08,10-11
S7 TE Torsdag 12-14 U144 05-11
S17 TE Onsdag 10-12 U144 06,08,10-11
S17 TE Fredag 12-14 U147 05-11
Vis hele skemaet
Vis personligt skema for dette kursus.

Kommentar:
Ubegrænset deltagerantal 3. kvartal

Indgangskrav:
Ingen

Faglige forudsætninger:
Stoffet fra DM502/DM536 Programmering A og DM503/DM537 Programmering B skal være kendt.

Kursusintroduktion
Målet for dette kursus er at beskrive og forklare centrale ideer og teknikker inden for concurrent programming, dvs. programmer der anvender flere interagerende tråde eller processer samtidigt. Udover den systematiske gennemgang af principper og indlæringen af formelle teknikker til at specificere og modellere concurrency, fokuserer kurset også på at anvende disse metoder og på at få praktisk erfaring med concurrent programmering

Kompetencer
De studerende vil opnå viden som sætter dem i stand til at designe og implementere samarbejdende, samtidigt udførte distribuerede processer. Mere præcist vil kurset give kompetencer i anvendelsen af følgende emner.

• Basale programmeringsprimitiver anvendelige i concurrent programming.
• Design patterns til god strukturering af løsninger til programmeringsproblemer indenfor concurrent programming.
• Begreber for og egenskaber ved samarbejdende, samtidigt udførte distribuerede processer.
• Netværksfaciliteter i objektorienterede programmeringsomgivelser.
• Faciliteter for concurrent programming i moderne objektorienterede programmeringssprog og programbiblioteker, eksemplificeret ved Java.

Forventet læringsudbytte
Ved kursets afslutning forventes den studerende at kunne:

  • identificere brugen af concurrency i programmer.
  • beskrive de anvendte concurrency mekanismer fra kurset.
  • forklare fundamentale problemer, teknikker og løsninger fra concurrent programmer.
  • argumentere for egenskaber for konkrete concurrent programmer.
  • beskrive og analysere concurrent arkitekturer under brug af modelbaserede metoder.
  • designe og implemetere ikke-trivielle concurrent programmer ved hjælp af modelbaserede metoder
  • redegøre for nogle almindelige arkitekturer i concurrent programmer.
Emneoversigt
Processer, tråde, monitor begrebet, delt hukommelse, synkronisering, safety and liveness, modelbaseret design, dynamiske systemer, message passing, concurrent architectures.

Litteratur
Der er i øjeblikket ikke angivet nogle materialer for kurset.

Kursets hjemmeside
Dette kursus benytter e-learn (blackboard).

Forudsætningsprøver
Ingen

Eksamen- og censurform:
Projektopgave. Bedømmes efter 7-trinsskalaen og med ekstern censur. (15009702)

Reeksamen efter 2. kvartal
Reeksamen kan have en anden form end den ordinære eksamen.

Vejledende timetal
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
Introfase: 20 timer
Træningsfase: 22 timer, heraf:
 - Eksaminatorie: 14 timer
 - Laboratorieøvelser: 8 timer

Aktiviteter i studiefasen Studiefase: 8 timer

Sprog
Dette kursus undervises på dansk eller engelsk, afhængigt af underviseren. Dog altid på Engelsk ved deltagelse af internationale studerende.

Kursustilmelding
Se tilmeldingsfrister.

Pris for åben uddannelse
Se priser for enkeltkurser.

Denne kursusbeskrivelse var gyldig fra 1. september 2012 til 31. januar 2016.