NDAB16005U Computersystemer (CompSys)

Årgang 2020/2021
Engelsk titel

Computer Systems (CompSys)

Uddannelse

Bacheloruddannelsen i datalogi
 

Kursusindhold

Kurset "Computersystemer" giver et overblik over essensen af maskinarkitekturer, styresystemer, og datanetværk. Kurset er rettet mod datalogistuderende, 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 i datalogi.

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 
  • Datasikkerhed

 

Kurset vil undervejs introducere studerende til relevante systemprogrammeringssprog, samt relevante udviklingsværktøjer, koncepter og teknikker indenfor systemprogrammering.

Målbeskrivelser

Efter kurset forventes de studerende at have:

Viden om

  • Logiske komponenter til opbygning af beregningsenheder og hukommelseskomponenter, samt boolsk algebra.
  • Forskellige talrepræsentationer i et edb-system.
  • Basal pipelinet og out-of-order eksekverings processorarkitektur, samt flerkerne arkitektur.
  • Enkelt og flere niveauers nærlager.
  • I/O enheder og interrupt-håndtering.
  • Styresystemers tråde- og procesabstraktioner.
  • Lagerhierarkier, virtuelle adresserum og deres understøttelse i hardware.
  • Klassiske synkroniseringsproblemer og associerede implementeringsmekanismer, såsom opdagelse af kapløbstilfælde og baglås.
  • Logisk og fysisk opbygning af forskellige filsystemer.
  • Lagdelt protokolstruktur i datanetværk (applikations-, transport-, netværks- og forbindelseslag).
  • Mekanismerne bag klassiske datanetværk, heruder pålidelig
    datatransmission, pakkekobling og medieadgang.
  • Opbygning af datacentre og klynger.
  • Basal anvendt kryptografi, og operationelle metoder til at sikre styresystemsmekanismer, netværksprotokoller og applikationer.

 

Færdigheder i at

  • Implementere enkle programmer i (symbolsk) maskinsprog, og oversætte programstumper skrevet i et systemprogrammeringssprog til tilsvarende maskinsprog.
  • Redegøre for de forskellige motivationer for samtidighed, lagerhierarkier, virtuel hukommelse og lagdelt protokolstruktur i edb-systemer.
  • Benytte gængse værktøjer til at foretage udvikling, modifikation og udvidelse af evt. netværksforbundne, flertrådede programmer på systemniveau, heriblandt håndtering af virtuel hukommelse og I/O på maskinniveau.
  • Systematisk afprøve, fejlrette og dokumentere programmel på systemniveau.

 

Kompetencer i at

  • Ræsonnere omkring processorarkitektur, lagerhierarkier, styresystemer og datanetværk.
  • Analysere ydeevnen af programmer baseret på viden om processorarkitektur, lagerhierarkier og styresystemer.
  • Designe og implementere den grundlæggende funktionalitet for forskellige styresystems- og netværkskomponenter.
  • Ræsonnere omkring korrektheden af flertrådede programmer, herunder
    strategier for undvigelse af kapløbstilfælde og baglås.
  • Ræsonnere omkring enkle sikkerhedsegenskaber for et givent system.
Programmering og problemløsning (PoP), eller et tilsvarende kursus, efter godkendelse af den kursusansvarlige.

Kendskab til programmering i et imperativt programmeringssprog, som gennemgået i Softwareudvikling, samt datastrukturer og basale algoritmer, som undervist i Diskret matematik og algoritmer (DMA).
Forelæsninger og øvelsestimer med praktiske og teoretiske hjemmeopgaver, samt programmeringsprojekter afrapporteret med skriftlige rapporter (i grupper).
  • Kategori
  • Timer
  • Forelæsninger
  • 62
  • Forberedelse (anslået)
  • 109
  • Teoretiske øvelser
  • 62
  • Projektarbejde
  • 175
  • Eksamen
  • 4
  • I alt
  • 412
Skriftlig
Kollektiv
Løbende feedback i undervisningsforløbet

Nærmere information vedrørende feedback gives ved kursusstart.

Point
15 ECTS
Prøveform
Skriftlig prøve, 4 timer med opsyn.
Skriftlig prøve med opsyn.
Krav til indstilling til eksamen

Opnå 50 % af de mulige point, der kan opnås i 8-10 afleveringsopgaver af varierende størrelse, herunder programmeringsprojekter og teoretiske opgaver, som vil skulle løses både individuelt og i grupper. 

Der kan stilles krav om opnåelse af point for en delmængde af afleveringerne, som dog stadig højest kan være 50 % af samlede mulige point af denne delmængde. Detaljer om størrelse af afleveringer og opdelinger vil blive offentliggjort 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.

Kvalifikation 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.