Kursplan för Parallella algoritmer och datastrukturer
Concurrent Algorithms and Data Structures
- 5 högskolepoäng
- Kurskod: 1DL590
- 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: 2021-03-04
- Inrättad av: Teknisk-naturvetenskapliga fakultetsnämnden
- Reviderad: 2022-10-17
- Reviderad av: Teknisk-naturvetenskapliga fakultetsnämnden
- Gäller från: HT 2023
-
Behörighet:
120 hp varav 60 hp datavetenskap inklusive genomgången 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:
- förklara och utforma algoritmer för hantering av enkla datastrukturer såsom mängder, stackar och köer för parallell beräkning;
- formulera och resonera om korrektheten av algoritmer och datastrukturer vid förekomst av parallella trådar;
- använda och implementera grundläggande parallella algoritmer.
Innehåll
De flesta datorprogram fungerar numera på parallella plattformar, t.ex. multicore-arkitekturer, distribuerade databaser och geografiskt distribuerade servrar. Detta innebär att existerande algoritmer och datastrukturer måste utvidgas så att de kan hantera parallella trådar. Denna kurs går igenom hur detta görs för grundläggande datastrukturer, t.ex. mängder , stackar och köer. Algoritmer som manipulerar sådana datastrukturer såsom algoritmer för insättning, radering, sökning och sortering. Resonemang kring korrektheten och effektiviteten hos dessa algoritmer.
Sekventiell konsistens, lineariserbarhet, synkroniseringsmekanismer, optimistiska algoritmer, lata algoritmer, låsfria algoritmer, ABA-problemet, atomära operationer.
Undervisning
Föreläsningar, laborationer, handledning.
Examination
Muntlig och skriftlig redovisning av uppgifter. Skriftlig tentamen.
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.
Versioner av kursplanen
Litteratur
Uppgift om kurslitteratur saknas. Ta kontakt med ansvarig institution för mer information.