NDAB16005U Computersystemer (CompSys)

Årgang 2016/2017
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 systemprogrammingssprog, 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.
  • Enkel- og flere-niveaus 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 aflevering, 5 dage
5-dags tag-hjem eksamen, bestående af et individuelt programmeringsprojekt og et teoretisk opgavesæt, som samlet dokumenteres og besvares ved en skriftlig rapport.

Eksamen behandles (udgives, overvåges, og afleveres) elektronisk.
Krav til indstilling til eksamen

Opnå 50% af de mulige point der kan opnås i 6-8 afleveringsopgaver, herunder programmeringsprojekter og teoretiske opgaver.

Hjælpemidler
Alle hjælpemidler tilladt
Bedømmelsesform
7-trins skala
Censurform
Ekstern censur
Reeksamen

Genaflevering af programmeringsprojekt fra ordinær eksamen, sammen med et nyt sæt af teoretiske opgaver + mundtligt forsvar i 30 minutter, uden forberedelse.

Kvalifikation til deltagelse i reeksamen kan opnås ved genaflevering af de 6-8 afleveringsopgaver, således at der opnås min. 50% af de mulige point.

Kriterier for bedømmelse

Se kursus målbeskrivelser.