Programspråksabstraktioner för parallellprogrammering
Kursplan, Avancerad nivå, 1DL541
- Kod
- 1DL541
- Utbildningsnivå
- Avancerad nivå
- Huvudområde(n) med fördjupning
- Datavetenskap A1F
- Betygsskala
- Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
- Fastställd av
- Teknisk-naturvetenskapliga fakultetsnämnden, 30 augusti 2018
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
120 hp varav 60 hp datavetenskap inklusive Introduktion till parallellprogrammering. Funktionell programmering rekommenderas. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)
Mål
Efter godkänd kurs ska studenten kunna:
- skriva och modifiera program som använder olika modeller och språkliga abstraktioner för parallellprogrammering,
- analysera modeller med avseende på vilka specifika problem de angriper, var de kan användas, och var de bör undvikas,
- redogöra för skillnaden mellan en modell och dess implementation i ett specifikt språk,
- redogöra för hur vissa språk implementerar hybrider eller flera modeller, och hur dessa kan samspela.
Innehåll
Olika modeller för concurrency och parallellprogrammering, t.ex. transaktionsminnen, actors, sido-effekt-fria kombinatorer och map-reduce. Implementation och användning av dessa modeller i olika programmeringsspråk, t.ex. C++, Java, Erlang. Styrkor och svagheter hos modellerna.
Fördjupning i någon modell och dess specifika implementation i något språk som ligger till grund för jämförelse mellan modeller.
Undervisning
Föreläsningar, laborationer, handledning.
Examination
Muntlig och skriftlig redovisning av uppgifter.
Om särskilda skäl finns får examinator göra undantag från det angivna examinationssättet och medge att en enskild student examineras på annat sätt. Särskilda skäl kan t.ex. vara besked om särskilt pedagogiskt stöd från universitetets samordnare för studenter med funktionsnedsättning.
Övriga föreskrifter
Kursen kan inte ingå i examen tillsammans med 1DL540.
Litteraturlista
Litteraturlista saknas.