DM519: Concurrent Programming (5 ECTS)

STADS: 15009701

Niveau
Bachelorkursus

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

Ansvarlige undervisere
Email: fmontesi@imada.sdu.dk

Skemaoplysninger
Hold Type Dag Tidsrum Lokale Uger Kommentar
Fælles I Tirsdag 12-14 U140 6-12
Fælles I Torsdag 12-14 U55 7,12
Fælles I Fredag 14-16 U23 6
H7 TE Onsdag 12-14 U155 7-12,14
H7 TE Torsdag 14-16 U154 6
H8 TE Mandag 12-14 U8 7-10
H8 TE Mandag 12-14 U142 11
H8 TE Mandag 12-14 U24 12
H8 TE Onsdag 08-10 U146 14
H8 TE Torsdag 08-10 U64 6
H9 TE Onsdag 14-16 U24 8,10-12
H9 TE Onsdag 14-16 U23A 9
H9 TE Onsdag 14-16 U155 14
H9 TE Torsdag 10-12 U31 6
H9 TE Torsdag 14-16 U44 7
Vis hele skemaet
Vis personligt skema for dette kursus.

Kommentar:
Ubegrænset deltagerantal.

Indgangskrav:
Ingen

Faglige forudsætninger:
Stoffet fra DM550 Introduktion til programmering 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 metoder for concurrency, fokuserer kurset 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 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.
  • Faciliteter for concurrent programming i moderne objektorienterede programmeringssprog og programbiblioteker.
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
  • redegøre for nogle almindelige arkitekturer i concurrent programmer.
Emneoversigt
Processer, tråde, monitor begrebet, delt hukommelse, synkronisering, safety and liveness, modellering af concurrency, 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.

Dette er den nyeste version af en kursusbeskrivelse, som trådte i kraft den 1. feb 2016.