Education Directory
PÅ SVENSKA
Malmö University

Kursplan våren 2026

Kursplan våren 2026

Benämning

Flertrådad programmering

Engelsk benämning

Concurrent Programming

Kurskod

DA218A

Omfattning

7,5 hp

Betygsskala

UV / Underkänd (U), Godkänd (G) eller Väl godkänd (VG)

Undervisningsspråk

Kursen ges på svenska och engelska

Beslutande instans

Fakulteten för teknik och samhälle

Inrättandedatum

2021-11-22

Fastställandedatum

2024-04-09

Gäller från

2025-01-20

Utbildningsnivå

Grundnivå

Behörighetskrav

9 hp från kursen DA339A Objektorienterad programmering eller DA315A Objektorienterad spelprogrammering

Utöver ovanstående formella förkunskapskrav förutsätts även att studenten har kunskaper från kursen DA339A Objektorienterad programmering eller DA315A Objektorienterad spelprogrammering

Huvudområde

CTDVA / Datavetenskap

Fördjupningsnivå

G1F / Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav

Fördjupningsnivå i förhållande till examensfordringarna

Kursen ingår i huvudområdet datavetenskap på nivå 31 - 60 hp och kan ingå i examensfordringarna för kandidatexamen i datavetenskap.

Innehåll

Kursen innehåller följande moment:

  • Introduktion till samtidighet och parallellism
  • Delade resurser, kritiska regioner och ömsesidig uteslutning
  • Race condition, deadlock, livelock, starvation, barrier
  • Writer-Reader och Producer-Consumer modeller
  • Bounded Buffer
  • Synkronisering med lås, mutex, semaforer och monitorer
  • Condition Synchronization, Condition variable
  • Asynkronprogrammering och trådpooler

Lärandemål

Kunskap och förståelse

För godkänd kurs ska studenten kunna:

  • visa förståelse för de frågeställningar och problem som uppkommer i parallella system med delat minne och i parallella distribuerade system
  • identifiera vanligt förekommande parallella synkroniseringsproblem, t.ex. samtidighetsproblem, dining philosophers, producent-konsument, resursallokering

Färdighet och förmåga

För godkänd kurs ska studenten kunna:

  • utveckla parallella lösningar samt kunna argumentera för korrekthet, tydlighet och effektivitet i lösningen
  • anpassa vanliga mönster för utveckling av parallella system
  • tillämpa de programmeringskonstruktioner och tekniker som moderna programmeringsspråk för parallella system tillhandahåller
  • implementera parallella lösningar i expressiva programmeringsspråk

Värderingsförmåga och förhållningssätt

För godkänd kurs ska studenten:

  • kunna utvärdera huruvida en mjukvara är tråd-säkert
  • utifrån sammanhanget kunna bedöma språkkonstruktioners lämplighet för att lösa synkroniseringsproblem

Arbetsformer

Kursen genomförs med föreläsningar och laborationer samt självstudietid.

Bedömningsformer

Krav för godkänt betyg: Godkänd skriftlig tentamen (4,5 hp, UV) samt godkända inlämningsuppgifter (3 hp, UG).

Krav för väl godkänt betyg: Väl godkänd skriftlig tentamen samt godkända inlämningsuppgifter.

Kurslitteratur

Alternativ för Java programmering:

  • Goetz, B, Peierls, T, Bloch, J, Bowbeer, J, Holmes, D. Java Concurrency in Practice

Alternativ för C# programmering:

  • Ashcraft, A. Parallel Programming and Concurrency with C# 10 and .NET 6: A modern approach to building faster, more responsive, and asynchronous .NET applications using C#

Utöver litteraturen tillkommer kompletterande webb- och föreläsningsmaterial som tillhandahålles digitalt via kursplatsen.

Kursvärdering

Högskolan ger studenter som deltar i eller har avslutat en kurs en möjlighet att framföra sina erfarenheter av och synpunkter på kursen genom en kursvärdering som anordnas av högskolan. Högskolan sammanställer kursvärderingarna samt informerar om resultaten och eventuella beslut om åtgärder som föranleds av kursvärderingarna. Resultaten ska hållas tillgängliga för studenterna. (HF 1:14).

Övergångsbestämmelser

Om en kurs upphört att ges eller genomgått större förändringar ska studenterna, under ett år efter det att förändringen skett, erbjudas två tillfällen för omprov baserade på den kursplan som gällde vid registreringen.

Övrigt

Om en student har beslut om riktat pedagogiskt stöd, har examinator rätt att ge ett anpassat prov eller låta studenten genomföra prov på ett alternativt sätt.