NDAB16005U Computersystemer (CompSys)

Årgang 2018/2019
Engelsk titel

Computer Systems (CompSys)

Uddannelse

Bacheloruddannelsen i datalogi
Bacheloruddannelsen i naturvidenskab og it

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 it-systemer. Efter kurset vil den studerende besidde evnen til at reflektere over den praktiske ydeevne 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 en eller flere relevante systemprogrammeringssprog, samt relevante 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 til 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, 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
  • Eksamen
  • 4
  • Forberedelse
  • 70
  • Forelæsninger
  • 72
  • Projektarbejde
  • 188
  • Teoretiske øvelser
  • 78
  • I alt
  • 412
Skriftlig
Kollektiv
Løbende feedback i undervisningsforløbet
Point
15 ECTS
Prøveform
Skriftlig prøve, 4 timer med opsyn.
Skriftlig prøve, 4 timer med opsyn.

Kurset er udtaget til ITX-eksamen på Peter Bangs Vej.
Krav til indstilling til eksamen

Opnå 50 % af de mulige point, der kan opnås i 10-12 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

OBS: Hvis eksamen afholdes på ITX, stiller ITX computere til rådighed. Egen computer, tablet eller mobiltelefon må IKKE medbringes. Hvis lærebøger og noter er tilladte ifølge kursusbeskrivelsen skal de medbringes i papirform eller på USB-stik.

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 deltagelse ved ordinær eksamen opfyldes.

Kriterier for bedømmelse

Se målbeskrivelsen.