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 10-12 U14 16-22
Fælles I Onsdag 14-16 U49D 21
Fælles I Torsdag 10-12 U14 16-17,19
S1 TE Mandag 14-16 U148 17-18,20,22
S1 TE Onsdag 10-12 U17 16-22
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.

Emneoversigt
Processer, tråde, monitor begrebet, delt hukommelse, synkronisering, safety and liveness, modelbaseret design, dynamiske systemer, message passing.

Litteratur
    Meddeles ved kursets start.


Pensum
Se pensumbeskrivelse.

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

Forudsætningsprøver
Ingen

Eksamen- og censurform:
a) Mundtlig eksamen med karakter efter 7-skalaen og ekstern censur.

b) Obligatorisk projekt. Intern censur ved underviser. Karakter bestået/ikke-bestået.
Projektet skal bestås for at man kan gå til den mundtlige eksamen.

Reeksamen efter 2. kvartal

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

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

Sprog
Dette kursus undervises på engelsk.

Kursustilmelding
Se tilmeldingsfrister.

Pris for åben uddannelse
Se priser for enkeltkurser.

Denne kursusbeskrivelse var gyldig fra 1. februar 2009 til 31. januar 2010.