Engelskt namn: Design of high-performance software
Denna kursplan gäller: 2018-12-31 och tillsvidare
Kurskod: 5DV172
Högskolepoäng: 7,5
Utbildningsnivå: Avancerad nivå
Huvudområden och successiv fördjupning:
Datavetenskap: Avancerad nivå, har kurs/er på avancerad nivå som förkunskapskrav
Beräkningsteknik: Avancerad nivå, har kurs/er på avancerad nivå som förkunskapskrav
Betygsskala: Med beröm godkänd, icke utan beröm godkänd, godkänd, väl godkänd, godkänd, underkänd
Ansvarig institution: Institutionen för datavetenskap
Beslutad av: Teknisk-naturvetenskapliga fakultetsnämnden, 2019-03-14
Att desgina högpresterande programvara för beräkningskrävande problem kräver en integration av kunskaper från flera ämnesområden. Att förstå problemet och dess domän är avgörande. När vi förstår domänen kan vi identifiera eller konstruera effektiva algoritmer och datastrukturer som kan lösa problemet snabbt och pålitligt. Vi måste sedan anpassa och optimera dessa algoritmer och datastrukturer till det tänkta datorsystemet (multicore, heterogena system, kluster, etc), vilket kräver en förståelse för datorarkitektur. Slutligen behöver vi förståelse för parallell programmering för att kunna skala upp beräkningen till flera processorer och / eller acceleratorer.
Dessa perspektiv är relevanta, i varierande grad, för alla beräkningskrävande problem. När man utvecklar högpresterande programvara är en central fråga hur man dynamiskt fördelar sin tid och kraft för att maximera slutproduktens kvalitet. Ska mer tid spenderas på att leta efter effektivare algoritmer eller är det klokare att göra fler optimeringar av nuvarande implementation i förhållande till den tänkta datorarkitekturen?
I denna kurs praktiserar och demonstrerar studenterna sin förmåga att designa, implementera och utvärdera högpresterande programvara för ett beräkningskrävande problem i någon domän. Huvudutmaningen i kursen är att allokera (och omfördela) tid och resurser klokt baserat på rationella argument som stöds av litteraturen och empiriska data.
Färdighet och förmåga
Efter avslutad kurs ska studenten kunna
Värderingar och förhållningssätt
Efter avslutad kurs ska studenten kunna
För tillträde till kursen krävs följande (eller motsvarande): 60 hp i huvudområdet datavetenskap eller 2 års avklarade studier (120hp), i
båda fallen inkluderande kurserna Effektiva algorimer,7.5hp, Datorers uppbyggnad och arkitektur, 7.5hp samt kursen Parallell programmering för multicore-baserade system, 7.5hp eller motsvarande.
Engelska A/5 och svenska för grundläggande behörighet för högskolestudier (om kursen ges på svenska).
Undervisningen på kursen består av en kombination av (obligatorisk) grupphandledning och seminarier i helklass. Eleverna delas upp i grupper och varje grupp arbetar tillsammans med ett gemensamt projekt. Varje grupp har regelbundna möten med läraren för att diskutera vad de har gjort, vilka hinder som just nu finns och vad de planerar att göra härnäst. Regelbundet, men mindre ofta, samlas alla grupper tillsammans med läraren i ett seminarium för att presentera vad de har uppnått hittills och vad deras nuvarande planer är.
Närvaro är obligatorisk under både grupphandledning och seminarier.
På kursen ges något av betygen Underkänd (U), Godkänd (3), Icke utan beröm godkänd (4) eller Med beröm godkänd (5). De förväntade studieresultaten bedöms med hjälp av följande examinationsformer:
Förväntat studieresultat (FSR) 1 bedöms främst utifrån seminarierna i helgrupp, demonstrationen och den muntliga presentationen. Grupphandledningen syftar till att förbereda studenterna för bedömningen.
FSR2 och FSR3 utvärderas genom aktivt deltagande i grupphandledningen. Studenterna ska rapportera hur de samarbetar och återkoppling ges för att vägleda studenterna mot professionellt samarbete med en genomförbar tidsplan. Studenterna måste beskriva och motivera sina planer för den närmsta tiden baserat på rationella argument som stöds av den vetenskapliga litteraturen och empiriska data.
FSR4 utvärderas genom att bedöma både kvantitet och kvalitet på de vetenskapliga källorna och sammanfattningarna som ingår i den individuellt skrivna, annoterade bibliografin. Grupphandledningen syftar till att vägleda studenterna till förståelse och kravuppfyllelse.
Betyget på godkänd kurs (3, 4, 5) är avsedd att avspegla hur väl studenten har uppnått de förväntade studieresultaten utöver vad som krävs för godkänt. En student som fått betyget underkänt men har deltagit i majoriteten av både grupphandledning och seminarierna kan, om studenten uttryckligen begär det, ges ett omprov som täcker de delar som studenten har missat (dvs. en annoterad bibliografi, en demonstration och/eller en muntlig presentation). Annars kan studenten examineras under nästa kurstillfälle. Studenten har dock inte rätt att fortsätta med samma projekt utan får då starta ett nytt.
Den som godkänts i ett prov får ej undergå förnyat prov för högre betyg.
En student som utan godkänt resultat har genomgått två prov för en kurs eller en del av en kurs, har rätt att få en annan examinator utsedd, om inte särskilda skäl talar emot det (HF 6 kap. 22 §). Begäran om ny examinator ställs till prefekten för Institutionen för datavetenskap.
Examination baserad på denna kursplan garanteras under två år efter studentens förstagångsregistrering på kursen. Detta gäller även om kursen lagts ned och denna kursplan upphört gälla.
Avsteg från kursplanens examinationsform kan göras för en student som har beslut om pedagogiskt stöd på grund av funktionsnedsättning. Individuell anpassning av examinationsformen ska övervägas utifrån studentens behov. Examinationsformen anpassas inom ramen för kursplanens förväntade studieresultat. Efter begäran av studenten ska
kursansvarig lärare, i samråd med examinator, skyndsamt besluta om anpassad examinationsform. Beslutet ska sedan meddelas studenten.
TILLGODORÄKNANDE
Student har rätt att få prövat om tidigare utbildning eller motsvarande kunskaper och färdigheter förvärvade i yrkesverksamhet kan tillgodoräknas för motsvarande utbildning vid Umeå universitet. Ansökan om tillgodoräknande skickas in till Studentcentrum/Examina. Mer information om tillgodoräknande finns på Umeå universitets studentwebb, www.student.umu.se, och i högskoleförordningen (6 kap). Ett avslag på ansökan om tillgodoräknande kan överklagas (Högskoleförordningen 12 kap) till Överklagandenämnden för högskolan. Detta gäller såväl om hela som delar av ansökan om tillgodoräknande avslås.
I en examen får denna kurs ej ingå, helt eller delvis, samtidigt med en annan kurs med likartat innehåll. Vid tveksamheter bör den studerande rådfråga studievägledare vid Institutionen för datavetenskap och/eller programansvarig för sitt program.
Kursens kopplingar till program och examina
Kursen kan användas som en del i uppfyllandet av kravet på 45 poäng med inriktning mot datalogi (varav minst 37,5 högskolepoäng på avancerad nivå) som krävs för specialiseringen Datalogi inom ramen för en Teknologie masterexamen i datavetenskap.
Relevanta och pålitliga vetenskapliga artiklar och tekniska rapporter som väljs av studenten.