NDAB20001U High Performance programmering og systemer (HPPS)
High Performance Programming and Systems (HPPS)
Bacheloruddannelsen i datalogi-økonomi
Bacheloruddannelsen i machine learning og
datavidenskab
Kurset introducerer de studerende til emnerne computerarkitektur og datanetværk, hukommelsesarkitektur, styresystemer, task-parallelisme og samtidighed, samt til massivt data-paralleliserede arkitekturer. Der vil være fokus på effektiv data-processering (big data) og effektive beregninger (big compute).
Kurset er rettet mod studerende på kombinationsuddannelserne datalogi-økonomi og machine learning og datavidenskab, og søger at udvikle en grundlæggende forståelse for koncepter indenfor datamater og it-systemer. Efter kurset vil den studerende besidde evnen til at reflektere over den praktiske ydeevne og udførsel af lavniveau programmer, samt besidde det faglige grundlag for senere praktiske og teoretiske kurser indenfor datalogien.
Kursets indhold er tematisk opdelt som følger:
- Talrepræsentationer, aritmetik og boolsk algebra
- Instruktionssæt, (symbolsk) maskinsprog, processorarkitektur, og lagerhierarkier
- Tråde, skedulering, og synkronisering
- Processer og virtuel hukommelse
- Filsystemer og I/O enheder
- Datanetværk
- Parallelle arkitekturer (MIMD, SIMD)
Kurset vil undervejs introducere studerende til lav-niveau systemprogrammeringssprog, såsom C, samt til relevante udviklingsværktøjer, koncepter og teknikker indenfor systemprogrammering. Parallelliseringsteknikker implementeret i gængse lineær algebra-biblioteker vil blive introduceret.
Viden om
- talrepræsentationer, aritmetik og boolsk algebra
- instruktionssæt, (symbolsk) maskinsprog, processorarkitektur, og lagerhierarkier
- tråde, skedulering, og synkronisering
- processer og virtuel hukommelse
- filsystemer og I/O enheder
- datanetværk
- parallelle arkitekturer (MIMD, SIMD)
Færdigheder i at
- implementere enkle programmer i et systemprogrammeringssprog med eksplicit lagerhåndtering
- redegøre for de forskellige motivationer for samtidighed, lagerhierarkier, og virtuel hukommelse
- benytte gængse værktøjer til at foretage udvikling, modifikation og udvidelse af programmer på systemniveau
- systematisk afprøve, fejlrette og dokumentere programmel på systemniveau
- implementere enkle programmer på en parallel platform
Kompetencer til at
- ræsonnere omkring processorarkitektur, lagerhierarkier, styresystemer og datanetværk
- analysere ydeevnen af programmer baseret på viden om processorarkitektur, lagerhierarkier og styresystemer
- implementere enkle programmer i et systemprogrammeringssprog
- ræsonnere omkring korrektheden af simple flertrådede programmer, herunder strategier for undgåelse af race conditions og deadlocks
- implementere enkle programmer på en parallel platform, samt
redegøre
for hvordan vektor og matrix operationer parallelliseres i gængse
biblioteker
Se Absalon for kursuslitteratur.
- Kategori
- Timer
- Forelæsninger
- 32
- Forberedelse (anslået)
- 78
- Øvelser
- 32
- Projektarbejde
- 40
- Eksamensforberedelse
- 20
- Eksamen
- 4
- I alt
- 206
Som meritstuderende - klik her!
Som enkeltfags-studerende (efter- og videreuddannelse) - klik
her!
- Point
- 7,5 ECTS
- Prøveform
- Skriftlig prøve, 4 timer med opsyn.---
- Krav til indstilling til eksamen
Godkendelse af 3-5 afleveringsopgaver af varierende størrelse, herunder programmeringsprojekter og teoretiske opgaver. Detaljer for afleveringerne, herunder størrelserne på opgaverne og om de enkelte opgaver skal løses individuelt eller i grupper, offentliggøres ved kursusstart.
- Hjælpemidler
- Alle hjælpemidler tilladt
- Bedømmelsesform
- 7-trins skala
- Censurform
- Ekstern censur
- Reeksamen
Skriftlig prøve, 4 timer med opsyn.
Såfremt der er 10 eller færre tilmeldte kan prøven afholdes som 30 minutters mundtlig prøve (inklusive bedømmelse, uden forberedelse) i fuldt pensum.
Indstilling til deltagelse i reeksamen opnås ved genaflevering af afleveringer senest 3 uger før reeksamen, således at samme krav som for indstillingskravet til den ordinær eksamen opfyldes.
Kriterier for bedømmelse
Se målbeskrivelsen.
Kursusinformation
- Sprog
- Dansk
- Kursuskode
- NDAB20001U
- Point
- 7,5 ECTS
- Niveau
- Bachelor
- Varighed
- 1 blok
- Placering
- Blok 2
- Skemagruppe
- A (tirs 8-12 + tors 8-17)
- Kursuskapacitet
- Ingen begrænsning
- Kurset udbydes også til efter- og videreuddannelse
- Studienævn
- Studienævn for Matematik og Datalogi
Udbydende institut
- Datalogisk Institut
Udbydende fakultet
- Det Natur- og Biovidenskabelige Fakultet
Kursusansvarlige
- Troels Henriksen (5-71847871835074793e7b853e747b)
- Kenneth Skovhede (8-766e72796b68676843676c316e7831676e)