![](/sitevision/proxy/studera/valj-utbildning/kurser.html/svid12_737040d616f18ef66a83f/2147344508/images/jth.png)
KURSPLAN
Skalbara och feltoleranta system, 7,5 högskolepoäng
Scalable and Fault Tolerant Systems, 7.5 credits
Kursplan för studenter vår 2024
Kurskod: | TSFN14 |
Fastställd av: | VD 2023-03-01 |
Reviderad av: | Utbildningschef 2023-11-15 |
Gäller fr.o.m.: | 2024-01-01 |
Version: | 2 |
Utbildningsnivå: | Grundnivå |
Utbildningsområde: | Tekniska området |
Ämnesgrupp: | DT1 |
Fördjupning: | G2F |
Huvudområde: | Datateknik |
Lärandemål
Efter genomgången kurs skall studenten
Kunskap och förståelse
- visa kunskap om tekniker för att distribuera data och beräkningar över flera datorer parallellt (MapReduce, data sharding, distribuerade filsystem, etcetera) samt dessas begränsningar/prioriteringar (CAP, PACELC, ACID, etcetera)
Färdighet och förmåga
- visa färdighet i att utveckla flertrådad mjukvara i ett högnivåspråk
- visa förmåga att tillämpa etablerade systemarkitekturer och designmönster för utveckling av skalbara och feltoleranta system hos en molnleverantör
- visa förmåga att implementera kontinuerliga testnings- och deployment-pipelines för driftsättning hos en molnleverantör
- visa förmåga att tillämpa tekniker för mätning av belastning samt automatisk skalning av system hos en molnleverantör
- visa förmåga att tillämpa etablerade systemarkitekturer och designmönster för utveckling av skalbara och feltoleranta system hos en molnleverantör
- visa förmåga att implementera kontinuerliga testnings- och deployment-pipelines för driftsättning hos en molnleverantör
- visa förmåga att tillämpa tekniker för mätning av belastning samt automatisk skalning av system hos en molnleverantör
Värderingsförmåga och förhållningssätt
- visa färdighet att för ett givet utvecklingsprojekt utvärdera, föreslå, och implementera lämpliga tekniker, komponenter och arkitekturer.
Innehåll
Kursen syftar till att lära studenterna utveckla skalbara och feltoleranta backend-tjänster för driftsättning hos molnleverantörer. Kursen bygger vidare på och kompletterar tidigare i programmet utvecklade kunskaper om programmering, metoder för mjukvaruutveckling och testning, och webben som driftplattform. Kursen ger också en bred förståelse för utveckling av parallella och distribuerade system.
Kursen innehåller följande moment:
- Parallellprogrammering (trådar/processer, locking, mutexar, semaforer, etcetera)
- Distribuerade systemarkitekturer
- Designmönster för cloud computing
- Integrationstestning
- Lasttestning och kostnadsberäkning för molntjänster
- Container orchestration
Kursen innehåller följande moment:
- Parallellprogrammering (trådar/processer, locking, mutexar, semaforer, etcetera)
- Distribuerade systemarkitekturer
- Designmönster för cloud computing
- Integrationstestning
- Lasttestning och kostnadsberäkning för molntjänster
- Container orchestration
Undervisningsformer
Föreläsningar, övningar och laborationer.
Undervisningen bedrivs normalt på svenska men undervisning på engelska kan förekomma.
Förkunskapskrav
Grundläggande behörighet samt genomgångna kurser på grundnivå 60 hp, inklusive Webbutveckling 7,5 hp och Mjukvaruutveckling 7,5 hp (eller motsvarande kunskaper).
Examination och betyg
Kursen bedöms med betygen 5, 4, 3 eller Underkänd.
Poängregistrering av examinationen för kursen sker enligt följande system:
Examinationsmoment | Omfattning | Betyg |
---|---|---|
Tentamen1 | 3,5 hp | 5/4/3/U |
Laboration | 4 hp | U/G |
Kurslitteratur
Kurslitteraturen fastställs 8 veckor innan kursstart.
Titel: Distributed Systems, 4th ed.,
Författare: M. van Steen och A.S. Tanenbaum
Förlag: distributed-systems.net, 2023
Titel: Azure Application Architecture Guide
Förlag: Microsoft Press, 2022
URL: https://azure.microsoft.com/en-us/blog/azure-application-architecture-guide
Titel: Distributed Systems, 4th ed.,
Författare: M. van Steen och A.S. Tanenbaum
Förlag: distributed-systems.net, 2023
Titel: Azure Application Architecture Guide
Förlag: Microsoft Press, 2022
URL: https://azure.microsoft.com/en-us/blog/azure-application-architecture-guide