NDAB16005U Computersystemer (CompSys)

Årgang 2017/2018
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, boolsk algebra, og kredsløbslogik
  • 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 processorarkitektur, samt hazard-håndtering.
  • 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.
  • 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
  • 20
  • Forberedelse
  • 54
  • Forelæsninger
  • 72
  • Projektarbejde
  • 188
  • Teoretiske øvelser
  • 78
  • I alt
  • 412
Point
15 ECTS
Prøveform
Skriftlig prøve, 4 timer med opsyn.
Skriftlig prøve, 4 timer med opsyn.
Krav til indstilling til eksamen

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