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 10-12 U140 6-8,11-13
Fælles I Onsdag 14-16 U140 6,8,11,13
Fælles I Fredag 08-10 U20 10
D1 TE Tirsdag 08-10 U154 6,10,12
D1 TL Tirsdag 12-14 IMADA Terminalrum 6
D1 TL Tirsdag 08-10 IMADA Terminalrum 7-8,11,13
D1 TL Tirsdag 14-16 IMADA Terminalrum 10,12
D2 TE Mandag 12-14 U154 6,10,12
D2 TL Onsdag 08-10 IMADA Terminalrum 6-8,10-13
Vis hele skemaet
Vis personligt skema for dette kursus.

Kommentar:
Ubegrænset deltagerantal. Samlæses med DM820.

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
    Meddeles ved kursets start.


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.