Kursens övergripande mål är att ge kunskaper om begrepp och principer som ligger till grund för moderna programspråk.
Kursen består av två moment:
Moment 1, teoridel, 4,5 högskolepoäng
Kursen behandlar: Språkdesign och utvärdering, syntaktisk specifikation av programspråk, orientering om metoder för syntaxanalys, semantisk specifikation av programspråk; Statisk och dynamisk semantik; Olika metoder för semantisk beskrivning såsom denotationssemantik och axiomatisk semantik; Lambdakalkyl.
Grundläggande programspråksbegrepp: variabler, bindning, blockstruktur och räckvidd, datatyper, typsystem, typkontroller; Kontrollabstraktion, underprogram, parameteröverföring; Dataabstraktion, abstrakta datatyper; Språkstruktur och språkmodeller: Objektorienterade, funktionella och logikgbaserade språk; Parallella processer och "undantag"; Programspråkshistorik.
Genomgångna begrepp illustreras med exempel i olika språk som Java, Ada, Standard ML m fl.
Moment 2, laborationsdel, 3 högskolepoäng
Delmomentet utgörs av en laborationskurs med ett antal obligatoriska inlämningsuppgifter
Förväntade studieresultat
Efter avslutad kurs ska studenten kunna:
- beskriva och förklara de olika komponenter som används för att bygga upp programspråk, och de fördelar och nackdelar som olika val medför
- förklara principer och metoder för hur dessa komponenter implementeras
- redogöra för de viktigaste programspråksparadigmerna och vad som karakteriserar dem
- utvärdera programspråk och språkbegrepp
- redogöra för olika metoder för att beskriva och analysera programspråks syntax och kunna förstå beskrivningar som använder dessa metoder
- redogöra för olika metoder att beskriva programspråks semantik, och kunna förstå beskrivningar som använder dessa metoder
- tillämpa sina kunskaper vid val av språk som är lämpliga för olika problemtyper och tillämpningar; design och beskrivning av programspråk; konstruktion av program och programvara
Behörighetskrav
Univ:För tillträde till kursen krävs 60 hp inom huvudområdet datavetenskap eller 2 års studier inkluderande kursen Datastrukturer och algoritmer (5DV043) eller motsvarande kunskaper.
Undervisningens upplägg
Undervisningen bedrivs i form av föreläsningar, arbete i datorlabb och övningar i mindre grupper. Utöver schemalagda aktiviteter krävs även individuellt arbete med materialet.
Examination
Examinationen sker dels genom skriftlig tentamen (på teoridelen), dels genom ett laborationsmoment. På en skriftlig tentamen sätts något av betygen Underkänd (U), Godkänd (3), Icke utan beröm godkänd (4) eller Med beröm godkänd (5). På laborationsmomentet ges endast betygen Underkänd (U) eller Godkänd (G). På hela kursen ges något av betygen Underkänd (U), Godkänd (3), Icke utan beröm godkänd (4) eller Med beröm godkänd (5). För att bli godkänd på hela kursen krävs att samtliga prov och obligatoriska moment är godkända. Betyget utgör en sammanfattande bedömning av resultaten vid examinationens olika delar och sätts först när alla obligatoriska moment är godkända. Den som godkänts i ett prov får ej undergå förnyat prov för högre betyg.
För studerande som inte godkänns vid ordinarie provtillfälle anordnas ytterligare provtillfälle.
En student som utan godkänt resultat har genomgått två prov för en kurs eller en del av en kurs, har rätt att få en annan examinator utsedd, om inte särskilda skäl talar emot det (HF 6 kap. 22 §). Begäran om ny examinator ställs till styrelsen för Institutionen för datavetenskap.
TILLGODORÄKNANDE
I en examen får denna kurs ej ingå, helt eller delvis, samtidigt med en annan kurs med likartat innehåll. Vid tveksamheter bör den studerande rådfråga studievägledare vid Institutionen för datavetenskap.
Litteratur
Litteraturlistan är inte tillgänglig via den webbaserade utbildningskatalogen.
Kontakta aktuell institution.