Kursplan för Programspråksabstraktioner för parallellprogrammering

Language Abstractions for Concurrent and Parallel Programming

  • 5 högskolepoäng
  • Kurskod: 1DL541
  • Utbildningsnivå: Avancerad nivå
  • Huvudområde(n) och successiv fördjupning: Datavetenskap A1F

    Förklaring av koder

    Koden visar kursens utbildningsnivå och fördjupning i förhållande till andra kurser inom huvudområdet och examensfordringarna för generella examina:

    Grundnivå

    • G1N: har endast gymnasiala förkunskapskrav
    • G1F: har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav
    • G1E: innehåller särskilt utformat examensarbete för högskoleexamen
    • G2F: har minst 60 hp kurs/er på grundnivå som förkunskapskrav
    • G2E: har minst 60 hp kurs/er på grundnivå som förkunskapskrav, innehåller examensarbete för kandidatexamen
    • GXX: kursens fördjupning kan inte klassificeras

    Avancerad nivå

    • A1N: har endast kurs/er på grundnivå som förkunskapskrav
    • A1F: har kurs/er på avancerad nivå som förkunskapskrav
    • A1E: innehåller examensarbete för magisterexamen
    • A2E: innehåller examensarbete för masterexamen
    • AXX: kursens fördjupning kan inte klassificeras

  • Betygsskala: Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
  • Inrättad: 2017-03-09
  • Inrättad av: Teknisk-naturvetenskapliga fakultetsnämnden
  • Reviderad: 2018-08-30
  • Reviderad av: Teknisk-naturvetenskapliga fakultetsnämnden
  • Gäller från: VT 2019
  • Behörighet:

    120 hp varav 60 hp datavetenskap inklusive Introduktion till parallellprogrammering. Funktionell programmering rekommenderas. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)

  • Ansvarig institution: Institutionen för informationsteknologi

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.

Litteratur

Uppgift om kurslitteratur saknas. Ta kontakt med ansvarig institution för mer information.