Kursplan

Kompilatorer och interpretatorer för civilingenjörer, 7,5 högskolepoäng

Compilers and Interpreters for MSc in Engineering, 7,5 Credits

Kurskod: DT501A Högskolepoäng: 7,5
Huvudområde: Datateknik Fördjupning: A1N
    Senast ändrad: 2019-03-14
Utbildningsnivå: Avancerad nivå Beslutad av: Prefekt
Inrättad: 2018-11-28 Litteraturlista fastställd: 2019-03-14
Giltig fr.o.m.: Höstterminen 2019 Revision: 1

Mål

Mål för utbildning på avancerad nivå

Utbildning på avancerad nivå ska innebära fördjupning av kunskaper, färdigheter och förmågor i förhållande till utbildning på grundnivå och ska, utöver vad som gäller för utbildning på grundnivå,

  • ytterligare utveckla studenternas förmåga att självständigt integrera och använda kunskaper,
  • utveckla studenternas förmåga att hantera komplexa företeelser, frågeställningar och situationer, och
  • utveckla studenternas förutsättningar för yrkesverksamhet som ställer stora krav på självständighet eller för forsknings- och utvecklingsarbete.

(1 kap. 9 § högskolelagen)

Kursens mål

Kunskap och förståelse
Den studerande ska efter avslutad kurs kunna

  • beskriva och förklara de grundläggande principerna för hur program tolkas, översätts och exekveras, och
  • beskriva och förklara hur data och minnesutrymme administreras i samband med exekvering av program.

Färdighet och förmåga
Den studerande ska efter avslutad kurs kunna

  • använda och jämföra verktyg och tekniker för att underlätta utvecklingen av kompilatorer och interpretatorer, och
  • tillämpa principerna för interpretatorer och kompilatorer för att konstruera delar av en kompilator, och andra program som använder teknik från kompilatorer.

Kursens huvudsakliga innehåll

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.

Studieformer

Föreläsningar samt projektuppgifter.

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: A001)
Salstentamen. Omtentamen infaller inom elva veckor efter ordinarie tentamen.

Projektuppgifter, 4,5 högskolepoäng (Provkod: A002)
Skriftlig och muntlig redovisning av projektuppgifter enskilt eller i
grupp enligt lärarens anvisningar.

För studenter med dokumenterad funktionsnedsättning kan universitetet besluta om anpassning av examination eller annan examinationsform.

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 2019-01-15, ORU 2019/00107) 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 Underkänd (U), 3, 4 eller 5.

Teori
Som betyg används Underkänd (U) eller Godkänd (G).

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

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

Kommentar till betyg

Som betyg på kursen ges betyget från provkod A002, givet att provkod A001 är godkänd.

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

Särskild behörighet och andra villkor

Diskret matematik och logik, 6 högskolepoäng samt Algoritmer, datastrukturer och komplexitet för civilingenjörer, 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 (senaste upplagan)
Compilers - Principles Techniques and Tools
Addison-Vesley