Logotype Örebro universitet

Institutionen för teknik

Kursplan


Datateknik C, Kompilatorer och interpretatorer, 7,5 högskolepoäng
Computer Engineering, Compilers and Interpreters, Advanced Course, 7.5 higher education credits


Kurskod: DT3004 Utbildningsområde: Tekniska området
Huvudområde: Datateknik Högskolepoäng: 7,5
Utbildningsnivå: Grundnivå Fördjupningsnivå: C
Inrättad: 2006-10-27 Senast ändrad: 2007-03-14
Giltig fr.o.m.: Höstterminen 2007 Beslutad av: Institutionsstyrelse


Mål

Mål för utbildning på grundnivå

Utbildning på grundnivå skall utveckla studenternas
- förmåga att göra självständiga och kritiska bedömningar
- förmåga att självständigt urskilja, formulera och lösa problem
- beredskap att möta förändringar i arbetslivet.

Inom det område som utbildningen avser skall studenterna, utöver kunskaper och färdigheter, utveckla förmåga att
- söka och värdera kunskap på vetenskaplig nivå,
- följa kunskapsutvecklingen, och
- utbyta kunskaper även med personer utan specialkunskaper inom området.
(1 kap. 8 § högskolelagen [HL])

Kursens mål

Kursens mål är att studenten efter avslutad kurs skall ha:
- förståelse för de grundläggande principerna för hur program tolkas, översätts och exekveras
- kunskap om olika typer av interpretatorer och kompilatorer och deras användningsområden
- förståelse för hur kompilatorer och interpretatorer är uppbyggda och fungerar
- förståelse för hur data och minnesutrymme administreras i samband med exekvering av program
- kunskap om hur man i praktiken bygger en enkel interpretator eller kompilator för ett enkelt språk.


Kursens huvudsakliga innehåll

Kursen består av två delkurser:

Delkurs I: Teori, 4.5 högskolepoäng
Följande moment behandlas:
- olika typer av översättare, som t ex kompilatorer och preprocessorer
- kompilatorns uppbyggnad och arbetssätt
- lexikalisk analys (scanning)
- syntaktisk analys (parsing), metoder för syntaxspecifikation
- typsystem och typkontroll
- intern representation av program
- runtime-system
- minneshantering, skräpsamling
- kodgenerering och kodoptimering
- kompilering för fysiska och virtuella maskiner
- olika metoder för felhantering
- verktyg för att framställa och generera kompilatorer
- kriterier för språkkonstruktion.


Delkurs II: Projektuppgifter, 3 högskolepoäng
Studenterna bygger några viktiga delar av en kompilator, både i C++ och med hjälp av olika verktyg.


Studieformer

Delkurs I: Föreläsningar.
Delkurs II: Projektuppgifter med handledning.

Den som antagits till och registrerats på en kurs har rätt att erhålla undervisning och/eller handledning under den tid som angavs för kurstillfället som den sökande blivit antagen till (se universitetets antagningsordning). Därefter upphör rätten till undervisning och/eller handledning.


Examinationsformer

Teori, 4,5 högskolepoäng. (Provkod: 0100)
Individuell skriftlig tentamen.
Projektuppgifter, 3 högskolepoäng. (Provkod: 0200)
Skriftlig och muntlig redovisning av projektuppgifter.

För ytterligare information se universitetets lokala riktlinjer för examination.


Betyg

Om inte annat är föreskrivet i kursplanen skall, enligt 6 kap. 18 § högskoleförordningen [HF], betyg sättas på en genomgången kurs. Betyget skall bestämmas av en av högskolan särskilt utsedd lärare (examinator).

Som betyg skall, enligt 6 kap. 19 § [HF], användas något av uttrycken underkänd, godkänd eller väl godkänd, om inte högskolan föreskriver annat betygssystem.

Som betyg på kursen används 3, 4, 5 eller Underkänd (U).

Teori
Som betyg används 3, 4, 5 eller Underkänd (U).
Projektuppgifter
Som betyg används Underkänd (U) eller Godkänd (G).

För ytterligare information se universitetets lokala riktlinjer för examination.


Särskild behörighet och andra villkor

Programmeringsmetodik, 7,5 högskolepoäng/5 poäng och Objektorienterad programmering, 7,5 högskolepoäng, 5 poäng.

För ytterligare information se universitetets antagningsordning.


Tillgodoräknande av tidigare utbildning

Student som tidigare genomgått utbildning eller fullgjort annan verksamhet ska enligt högskoleförordningen tillgodoräknas detta som en del av den aktuella utbildningen under förutsättning att den tidigare utbildningen eller verksamheten uppfyller vissa krav.


För ytterligare information se universitetets lokala riktlinjer för tillgodoräknanden.


Övergångsbestämmelser

Om en kurs genomgått förändringar som är så omfattande att studenten inte på grundval av tidigare genomgången kurs kan ta del av den förändrade kursens ordinarie tentamen, skall studenten beredas möjlighet till minst tre särskilda prov jämnt fördelade under en tidsperiod av arton månader efter det att kursen upphört eller förändringarna ägt rum. Tiden räknas från och med utgången av den termin kursen upphört eller förändringen inträdde.

Skulle kurslitteraturen ha förändrats så att den bedöms som väsentligt annorlunda, skall studenten ges möjlighet att göra minst tre prov baserade på den tidigare gällande kurslitteraturen, om den fortfarande kan bedömas relevant i kunskapshänseende, under en tidsperiod av arton månader. Tiden räknas från och med utgången av den termin som kurslitteraturen förändrades.

För ytterligare information se universitetets lokala riktlinjer för examination.


Övriga föreskrifter

Som betyg på kursen används 3, 4, 5 eller Underkänd (U).
Som betyg på kursen ges betyget från delkurs I, givet att delkurs II är godkänd.


Kurslitteratur och övriga läromedel

Obligatorisk litteratur

Aho, Alfred V., Lam, Monica. S., Sethi, Ravi och Ullman, Jeffery D (2006)
Compilers - Principles Techniques and Tools, 2nr Rev Ed
Addison-Vesley, ISBN/ISSN: 03-21-48681-1

Se denna kursplan som PDF