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: 2016-03-30
Giltig fr.o.m.: Höstterminen 2016 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,
- kunskap om kompilatorns faser,
- kunskap om verktyg för att underlätta utvecklingen av kompilatorer och interpretatorer,
- 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örståelse för hur man i praktiken bygger en enkel interpretator eller kompilator för ett enkelt språk,
- förmåga och praktiska färdigheter att konstruera delar av en kompilator, och andra program som använder teknik från kompilatorer, särskilt en lexikalisk analysator och en enkel syntaktisk analysator, såväl i vanlig programkod som med särskilda verktyg, och
- ett professionellt förhållningssätt till programmering, vilket innefattar problemanalys, testning och dokumentation.


Kursens huvudsakliga innehåll

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, och
- kriterier för språkkonstruktion.

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

Föreläsningar samt 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.
Omtentamen infaller inom elva veckor efter ordinarie tentamen.
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).


Som betyg på kursen ges betyget från projektuppgifterna, givet att teoridelen är godkänd.

Enligt rektorsbeslut med Dnr ORU 4.3.1-3289/2013 har avsteg medgivits från den tregradiga betygsskalan.


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.


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