"False"
Hoppa direkt till innehållet
printicon
Huvudmenyn dold.
Kursplan:

Prestandaprogrammering, 7,5 hp

Engelskt namn: Performance Programming

Denna kursplan gäller: 2023-06-26 och tillsvidare

Kurskod: 5DV237

Högskolepoäng: 7,5

Utbildningsnivå: Grundnivå

Huvudområden och successiv fördjupning: Datavetenskap: Grundnivå, har minst 60 hp kurs/er på grundnivå som förkunskapskrav

Betygsskala: TH teknisk betygsskala

Ansvarig institution: Institutionen för datavetenskap

Beslutad av: Teknisk-naturvetenskapliga fakultetsnämnden, 2023-03-17

Innehåll

När programvara körs kräver den resurser i form av tid, minne, energi, med mera. Utvecklare behöver vara medvetna om sina systems resursanvändning och vidta proaktiva och reaktiva åtgärder för att säkerställa att systemen använder resurserna effektivt. Detta kräver en viss förståelse för den underliggande hårdvaran och inte minst en vilja och förmåga att tillämpa kunskapen när programvara konstrueras, implementeras och analysers. Syftet med den här kursen är att förse studenterna med den kunskap, förmågor och attityder som krävs för att bli en skicklig utvecklare av effektiva system som kör snabbare, kräver mindre minne och förbrukar mindre energi. De grundläggande koncepten och idéerna som introduceras under kursen illustreras och tillämpas genom programspråket C++. Även om kursen inte kräver några förkunskaper inom C++ så förväntas studenterna ha tillräckligt med kunskap och erfarenheter av imperativa och objektorienterad språk (t.ex. C och Java) för att snabbt och självständigt kunna lära sig språkets grunder via kurslitteraturen och andra resurser som tillhandahålls.

Förväntade studieresultat

Kunskap och förståelse
Efter avslutad kurs ska studenten kunna:

  • (FSR 1) beskriva prestandarelaterade funktioner hos processorer (t.ex. kärnor, pipeliner, vektorinstruktioner, frekvensskalning, hårdvarutrådar) och förklara deras påverkan på prestandaprogrammering;
  • (FSR 2) beskriva prestandarelaterade funktioner hos minnessystemet i hårdvara och programvara (t.ex. minneshierarkier, virtuellt minne, dynamisk minnesallokering) och förklara deras påverkan på prestandaprogrammering;
  • (FSR 3) förklara koncept relaterade till prestandaprogrammering och -analys (t.ex. latens, bandbredd, prestanda, skalbarhet, energieffektivitet).

Färdighet och förmåga
Efter avslutad kurs ska studenten kunna:

  • (FSR 4) utvärdera programvaras effektivitet med avseende på tid, minne och energi genom en kombination av analytiska och empiriska metoder;
  • (FSR 5) använda empiriska metoder i kombination med algoritmanalys för att identifiera troliga orsaker till prestandarelaterade problem i programvara och sedan skriftligt dokumentera resultaten;
  • (FSR 6) skriva högpresterande och underhållbar kod i programspråket C++ samt diskutera dessa aspekter vid kodgranskning.

Värderingsförmåga och förhållningssätt
Efter avslutad kurs ska studenten kunna:

  • (FSR 7) avgöra om och i sådana fall hur en viss teknik för prestandaoptimering är lämplig i en viss kontext genom att i förväg uppskatta för- och nackdelar;
  • (FSR 8) studera, sammanfatta och muntligt diskutera vetenskapliga och tekniska artiklar om ämnen relaterade till prestandraprogrammering. 

Behörighetskrav

Minst 60 hp datavetenskap. Minst 7,5 hp programmering; 7,5 hp datastrukturer och algoritmer; 7,5 hp objektorienterad programmering; 7,5 hp systemprogrammering; 15 hp matematik varav 7,5 hp diskret matematik.

Undervisningens upplägg

Undervisningen består av föreläsningar, seminarier och praktiska övningar. Utöver deltagande i schemalagda aktiviteter krävs självständigt arbete med kursmaterialet.

Examination

Examinationen består av en skriftlig salstentamen (FSR 1, 2, 3), skriftliga inlämningsuppgifter (FSR 4, 5, 6), och seminarier som innehåller inslag av kodgranskning och muntliga presentationer (FSR 6, 7, 8). På kursen ges något av betygen Underkänd (U), Godkänd (3), Icke utan beröm godkänd (4), Med beröm godkänd (5).

Anpassad examination
Examinator kan besluta om avsteg från kursplanens examinationsform. Individuell anpassning av examinationsformen ska övervägas utifrån studentens behov. Examinationsformen anpassas inom ramen för kursplanens förväntade studieresultat. Student som har behov av en anpassad examination ska senast 10 dagar innan examinationen begära anpassning hos Institutionen för datavetenskap. Examinator beslutar om anpassad examination som sedan meddelas studenten.

Övriga föreskrifter

Om kursplanen har upphört att gälla eller kursen slutat erbjudas garanteras en student som någon gång registrerats på kursen minst tre provtillfällen (inklusive ordinarie provtillfälle) enligt denna kursplan under en tid av maximalt två år från det att kursplanen upphört att gälla eller kursen slutat erbjudas.

Litteratur

Giltig från: 2023 vecka 26

C++ High Performance - Second Edition
Bjorn Andrist , Ben Garney , Viktor Sehr
2020 :
Obligatorisk
Läsanvisning: Finns både som häftad och som e-bok. ISBN 978-1839216541.