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.
Kursinnehå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.
Förutsättningar
120 hp varav 60 hp datavetenskap inklusive Introduktion till parallellprogrammering. Funktionell programmering rekommenderas. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)