Concurrent Programming

2025/2026

Anbefalede faglige forudsætninger for at deltage i modulet

Viden svarende til kurserne Imperativ programmering og Objektorienteret programmering, Computerarkitektur og operativsystemer, samt programmeringserfaring svarende til projektmodulet på 3. semester

Modulets indhold, forløb og pædagogik

FORMÅL
For at udvikle og vedligeholde moderne software, skal studerende være i stand til at bruge avancerede programmeringsteknikker især til håndtering af samtidighed 

Læringsmål

Viden

Den studerende skal opnå viden om:

  • hardware arkitektur for samtidighed: single-core, multi-core, shared memory, caches, local memory, distributed memory, SIMD og GPU 
  • mekanismer for samtidighed (processer, tråde, fibre, synkronisering )
  • mekanismer til delt hukommelses parallelitet med låse og semaforer, låse fri, ikke blokerende algoritmer, transaktions baseret hukommelse 
  • meddelelsesoverførsel samtidighed, og om hvordan samtidig programmering kan bruges til parallel programmering
  • programstruktureringsprincipper og designmønstre til håndtering af samtidighed
  • sproglige abstraktioner til samtidighed
  • udfordringerne og begrænsningerne ved samtidighed (race conditions, dead-locks, ydeevne (performance), flaskehals) i praktisk softwareudvikling

Færdigheder

Den studerende skal opnå følgende færdigheder:  

  • kunne redegøre for de berørte teknikker og begreber ved brug af fagets terminologi  
  • kunne bruge programstruktureringsprincipper og designmønstre for samtidighed 
  • kunne ræsonnere datalogisk om og med de berørte begreber og teknikker  

Kompetencer

Den studerende skal kunne: 

  • sætte sig hurtigt ind i avancerede programmeringsteknikker fra akademisk litteratur og/eller teknisk dokumentation
  • bruge disse teknikker til at løse udfordrende, realistiske problemer
  • skrive korrekte, sikre, effektive og vedligeholdbare programmer med klar adskillelse af bekymringer
  • anvende test og profilering for at evaluere korrekthed og performance af ​​samtidige programmer
  • bruge værktøjer til logning, sporing og performance-analyse til at diagnosticere samtidighedsproblemer i systemer 
  • give en vurdering af deres egen kode, baseret på en systematisk evaluering af rigtighed, valg af algoritmer og datastrukturer, performance, fejlscenarier og elegance 

Undervisningsform

Undervisningen tilrettelægges i henhold til de generelle undervisningsformer for uddannelsen jf. § 17

Omfang og forventet arbejdsindsats

Det forventes at den studerende bruger 30 timer per ECTS, hvilket for denne aktivitet betyder 150 timer.

Eksamen

Prøver

Prøvens navnConcurrent Programming
Prøveform
Skriftlig eller mundtlig
ECTS5
Tilladte hjælpemidlerEventuelle tilladte hjælpemidler, vil fremgå af kursussiden i MOODLE
Bedømmelsesform7-trins-skala
CensurEkstern prøve
VurderingskriterierVurderingskriterierne er angivet i Universitetets eksamensordning

Yderligere informationer

Kontakt: Studienævn for datalogi via cs-sn@cs.aau.dk eller 9940 8854

 

Permalink Print

Fakta om modulet

Engelsk titelConcurrent Programming
ModulkodeDSNSWCB634
ModultypeKursus
Varighed1 semester
SemesterForår
ECTS5
UndervisningssprogDansk og engelsk
TompladsJa
UndervisningsstedCampus København
Modulansvarlig
Indgår i

Organisation

UddannelsesejerBachelor (BSc) i teknisk videnskab (software)
StudienævnStudienævn for Datalogi
InstitutInstitut for Datalogi
FakultetDet Teknisk Fakultet for IT og Design

Søg i modulbasen

View all fonts in this project