DM519: Concurrent Programming (5 ECTS)

STADS: 15006001

Niveau
Bachelorkursus

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

Ansvarlige undervisere
Email: zhou@imada.sdu.dk

Skemaoplysninger
Hold Type Dag Tidsrum Lokale Uger Kommentar
Fælles I Tirsdag 12-14 U26 15
Fælles I Tirsdag 12-14 U26 15
Fælles I Tirsdag 12-14 U26 15
Fælles I Tirsdag 12-14 U26 15, 17-21
Fælles I Tirsdag 12-14 U26 15
Fælles I Tirsdag 12-14 U26 15
Fælles I Tirsdag 12-14 U26 15
Fælles I Tirsdag 12-14 U26 15
Fælles I Tirsdag 12-14 U26 17-21
Fælles I Tirsdag 12-14 U26 17-21
Fælles I Tirsdag 12-14 U26 17-21
Fælles I Tirsdag 12-14 U26 17-21
Fælles I Tirsdag 12-14 U26 17-21
Fælles I Tirsdag 12-14 U26 17-21
Fælles I Tirsdag 12-14 U26 17-21
Fælles I Torsdag 10-12 U26 15
Fælles I Torsdag 10-12 U26 15
Fælles I Torsdag 10-12 U26 15
Fælles I Torsdag 10-12 U26 15
Fælles I Torsdag 10-12 U26 15
Fælles I Torsdag 10-12 U26 15
Fælles I Torsdag 10-12 U26 15
Fælles I Torsdag 10-12 U26 15, 17, 19
Fælles I Torsdag 10-12 U26 17
Fælles I Torsdag 10-12 U26 17
Fælles I Torsdag 10-12 U26 17
Fælles I Torsdag 10-12 U26 17
Fælles I Torsdag 10-12 U26 17
Fælles I Torsdag 10-12 U26 17
Fælles I Torsdag 10-12 U26 17
Fælles I Torsdag 10-12 U26 19
Fælles I Torsdag 10-12 U26 19
Fælles I Torsdag 10-12 U26 19
Fælles I Torsdag 10-12 U26 19
Fælles I Torsdag 10-12 U26 19
Fælles I Torsdag 10-12 U26 19
Fælles I Torsdag 10-12 U26 19
Fælles I Fredag 10-12 16
Fælles I Fredag 10-12 16
Fælles I Fredag 10-12 16
Fælles I Fredag 10-12 U27a 16
Fælles I Fredag 10-12 16
Fælles I Fredag 10-12 16
Fælles I Fredag 10-12 16
Fælles I Fredag 10-12 16
S1 TE Onsdag 12-14 U26 15-21
S1 TE Onsdag 12-14 U26 15-21
S1 TE Onsdag 12-14 U26 15-21
S1 TE Onsdag 12-14 U26 15-21
S1 TE Onsdag 12-14 U26 15-21
S1 TE Onsdag 12-14 U26 15-21
S1 TE Onsdag 12-14 U26 15-21
S1 TE Onsdag 12-14 U26 15-21
S1 TE Torsdag 10-12 U26 16
S1 TE Torsdag 10-12 U26 16
S1 TE Torsdag 10-12 U26 16, 18, 21
S1 TE Torsdag 10-12 U26 16
S1 TE Torsdag 10-12 U26 16
S1 TE Torsdag 10-12 U26 16
S1 TE Torsdag 10-12 U26 16
S1 TE Torsdag 10-12 U26 16
S1 TE Torsdag 10-12 U26 18
S1 TE Torsdag 10-12 U26 18
S1 TE Torsdag 10-12 U26 18
S1 TE Torsdag 10-12 U26 18
S1 TE Torsdag 10-12 U26 18
S1 TE Torsdag 10-12 U26 18
S1 TE Torsdag 10-12 U26 18
S1 TE Torsdag 10-12 U26 21
S1 TE Torsdag 10-12 U26 21
S1 TE Torsdag 10-12 U26 21
S1 TE Torsdag 10-12 U26 21
S1 TE Torsdag 10-12 U26 21
S1 TE Torsdag 10-12 U26 21
S1 TE Torsdag 10-12 U26 21
Vis hele skemaet
Vis personligt skema for dette kursus.

Kommentar:
Ubegrænset deltagerantal. 4. kvartal.

Indgangskrav:
Ingen

Faglige forudsætninger:
Stoffet fra DM502 Programmering A og DM503 Programmering B skal være kendt. Det anbefales endvidere at følge DM510 operativsystemer senest samtidig.

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..


Pensum
Se pensumbeskrivelse.

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

Forudsætningsprøver
Ingen

Eksamen- og censurform:
a) Obligatorisk projekt. Intern censur ved underviser. Karakter bestået/ikke-bestået (15006022).
Projektet skal bestås for at man kan gå til den mundtlige eksamen.

b) Mundtlig eksamen med karakter efter 7-trinsskalaen og ekstern censur (15006002).

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.

Forelæsninger (20 timer), eksaminatorier (22 timer), projektarbejde.
Aktiviteter i studiefasen

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. februar 2012 til 31. august 2012.