Logotype Örebro universitet

Institutionen för naturvetenskap och teknik

Kursplan


Datateknik C, Kompilatorer och interpretatorer, 7,5 högskolepoäng
Computer Science, Compilers and Interpreters, Advanced Course, 7.5 Credits


Kurskod: DT3030 Utbildningsområde: Tekniska området
Huvudområde: Datateknik Högskolepoäng: 7,5
    Ämnesgrupp (SCB): Datateknik
Utbildningsnivå: Grundnivå Fördjupning: G1F
Inrättad: 2011-11-01 Senast ändrad: 2012-03-30
Giltig fr.o.m.: Höstterminen 2012 Beslutad av: Prefekt


Mål

Mål för utbildning på grundnivå

Utbildning på grundnivå ska 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, och
- beredskap att möta förändringar i arbetslivet.

Inom det område som utbildningen avser ska 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)

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
- försåelse för hur man i praktiken bygger en enkel interpretator eller kompilator för ett enkelt språk.
- ett professionellt förhållningssätt till programmering, vilket innefattar problemanalys, testning och dokumentation.


Kursens huvudsakliga innehåll

Kursen består av två delkurser:

Delkurs I: Teori, 3 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, 4,5 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, 3 högskolepoäng. (Provkod: 0100)
Salstentamen.
Projektuppgifter, 4,5 högskolepoäng. (Provkod: 0200)
Skriftlig och muntlig redovisning av projektuppgifter.

För ytterligare information se universitetets regler för examination inom utbildning på grundnivå och avancerad nivå.


Betyg

Enligt 6 kap. 18 § högskoleförordningen ska betyg sättas på en genomgången kurs om inte universitetet föreskriver något annat. Universitetet får föreskriva vilket betygssystem som ska användas. Betyget ska beslutas av en av universitetet särskilt utsedd lärare (examinator).

Enligt föreskrifter om betygssystem för utbildning på grundnivå och avancerad nivå (rektors beslut 2010-10-19, dnr CF 12-540/2010) ska som betyg användas något av uttrycken underkänd, godkänd eller väl godkänd. Rektor eller den rektor bestämmer får besluta om undantag från denna bestämmelse för en viss kurs om det finns särskilda skäl.

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

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

För ytterligare information se universitetets regler för examination inom utbildning på grundnivå och avancerad nivå.


Särskild behörighet och andra villkor

Datateknik B, Programmeringsmetodik, 7,5 högskolepoäng och Datateknik B, Objektorienterad programmering, 7,5 högskolepoä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 regler för tillgodoräknanden.


Övriga föreskrifter

Som betyg på kursen ges betyget från delkurs II, givet att delkurs I är godkänd.
Enligt rektorsbeslut nr 54/95, dnr 4.6 148-95 har avsteg medgivits från den tregradiga betygsskalan.


Ö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 regler för examination inom utbildning på grundnivå och avancerad nivå.


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, 2nd Rev Ed
Addison-Vesley, ISBN/ISSN: 03-21-48681-1


Se denna kursplan som PDF