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, 9 mars 2017
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
120 hp varav minst 60 hp i datavetenskap inklusive Introduktion till parallellprogrammering. Funktionell programmering rekommenderas.
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.
Övriga föreskrifter
Kursen kan inte ingå i examen tillsammans med 1DL540.
Litteraturlista
Litteraturlista saknas.