High Performance programmering og systemer (HPPS)

Kursusindhold

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
  • Datanetværk
  • Parallelle arkitekturer

 

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.

Engelsk titel

High Performance Programming and Systems (HPPS)

Uddannelse

Bacheloruddannelsen i biokemi
Bacheloruddannelsen i datalogi-økonomi
Bacheloruddannelsen i machine learning og datavidenskab
Bacheloruddannelsen i kognitions- og datavidenskab 

Målbeskrivelse

Viden om

  • talrepræsentationer, aritmetik og boolsk algebra
  • instruktionssæt, (symbolsk) maskinsprog, processorarkitektur, og lagerhierarkier
  • tråde, skedulering, og synkronisering
  • processer og virtuel hukommelse
  • indkodning af data i filer
  • datanetværk
  • parallelle arkitekturer

 

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 måle ydelse af 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
  • implementere enkle programmer på en parallel platform

Forelæsninger og øvelsestimer med praktiske og teoretiske hjemmeopgaver, samt programmeringsprojekter afrapporteret med skriftlige rapporter (i grupper).

Se Absalon for kursuslitteratur.

Programmering og Problemløsning (PoP) samt Diskret Matematik og Formelle Sprog (DMFS) (eller Diskret matematik og algoritmer (DMA)) .

Kurset har betydeligt overlap med datalogikurset CompSys. Det anbefales ikke at tage HPPS hvis man allerede har haft CompSys.

Skriftlig
Individuel
Kollektiv
Løbende feedback i undervisningsforløbet
ECTS
7,5 ECTS
Prøveform
Skriftlig aflevering, 51 timer
Prøveformsdetaljer
Individuel tag-hjem skriftlig eksamen med udarbejdelse af program og rapport.
Krav til indstilling til eksamen

Der stilles 3-5 afleveringsopgaver af varierende størrelse, herunder programmeringsprojekter og teoretiske opgaver.

Det udmeldes på Absalon ved kursusstart præcis hvor mange afleveringsopgaver, der stilles. 

Alle undtagen 1 af opgaverne skal godkendes for at kvalificere sig til eksamen.

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

Det er tilladt at anvende Large Language Models (LLM)/Large Multimodal Models (LMM) – fx ChatGPT og GPT-4.

Bedømmelsesform
7-trins skala
Censurform
Ekstern censur
Reeksamen

Samme som den ordinære eksamen.

Kvalifikation til deltagelse i reeksamen opnås ved (gen)aflevering af afleveringsopgaver senest 3 uger før reeksamen, således at samme krav som for indstillingskravet til den ordinær eksamen opfyldes. Dvs. alle undtagen 1 af afleveringsopgaverne skal godkendes for at kvalificere sig til reeksamen.

Kriterier for bedømmelse

Se målbeskrivelsen.

Enkeltfag dagtimer (tompladsordning)

  • Kategori
  • Timer
  • Forelæsninger
  • 32
  • Forberedelse (anslået)
  • 62
  • Øvelser
  • 32
  • Projektarbejde
  • 50
  • Eksamensforberedelse
  • 10
  • Eksamen
  • 20
  • Total
  • 206

Kursusinformation

Undervisningssprog
Dansk
Kursusnummer
NDAB20001U
ECTS
7,5 ECTS
Niveau
Bachelor
Varighed

1 blok

Placering
Blok 2
Skemagruppe
A (tirs 8-12 + tors 8-17)
Kapacitet
Ingen begrænsning
Der kan være færre pladser i eftertilmeldingsperioden
Studienævn
Studienævn for Matematik og Datalogi
Udbydende institut
  • Datalogisk Institut
Udbydende fakultet
  • Det Natur- og Biovidenskabelige Fakultet
Kursusansvarlig
  • Troels Henriksen   (5-677a6e6779466a6f34717b346a71)
Gemt den 24-08-2023

Are you BA- or KA-student?

Are you bachelor- or kandidat-student, then find the course in the course catalog for students:

Courseinformation of students