Hoppa direkt till innehållet
printicon
Huvudmenyn dold.
Kursplan:

Programspråk, 7,5 hp

Engelskt namn: Programming Languages

Denna kursplan gäller: 2007-12-31 till 2011-06-12 (nyare version av kursplanen finns)

Kurskod: 5DV086

Högskolepoäng: 7,5

Utbildningsnivå: Grundnivå

Huvudområden och successiv fördjupning: Datavetenskap: Grundnivå, har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav

Betygsskala: TH teknisk betygsskala

Ansvarig institution: Institutionen för datavetenskap

Beslutad av: teknisk-naturvetenskapliga fakultetsnämnden, 2008-12-16

Innehåll

Kursen övergripande mål är att ge kunskaper om begrepp och principer som ligger till grund för moderna programspråk, samt att ge färdighet i programmering i ett funktionellt språk. Moment 1, teoridel, 4,5 högskolepoäng Momentet behandlar grundläggande programspråksbegrepp så som variabler, bindning, blockstruktur och räckvidd, datatyper, typsystem, typkontroller. Vidare presenteras och genomgås begrepp som kontrollabstraktion, underprogram, och olika metoder för parameteröverföring samt dataabstraktion och abstrakta datatyper. Genomgångna begrepp illustreras med exempel i olika språk som Java, Ada, Standard ML m fl.En översikt ges av olika språkmodeller/språkparadigmer: Imperativa, objektorienterade, funktionella och logikbaserade typer av språk samt parallella processer och "undantag". Speciell vikt läggs vid funktionella språk. Kursen lär ut systematisk uppbyggnad av funktionsbaserade program, med fokus på det som är mest karaktäristiskt för funktionella språk såsom: funktionsbegreppet, rekursiva funktioner och datatyper, typkonstruerare, typhärledning, polymorfism, listor och tupler, mönstermatchning, samt högre ordningens funktioner. I kursen ingår även en introduktion till språkdesign och utvärdering, samt en kort programspråkshistorik. 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, med speciell tyngdpunkt på den funktionella paradigmen • utvärdera programspråk och språkbegrepp, och välja språk som är lämpliga för olika problemtyper och tillämpningar • uttrycka lösningar till olika problem som funktioner från indata till utdata, och genom sammansättning av funktioner. • formulera algoritmer och datatyper med rekursiva uttryckssätt och implementera dessa i ett funktionellt programspråk • systematiskt utveckla och konstruera funktionsbaserade program • genomföra ömsesidig granskning av skriftliga rapporter i små grupper. • utifrån givna riktlinjer, ramar och kriterier göra en skriftlig redogörelse, exempelvis beskriva resultatet av en utvärdering, en jämförelse etc.

Behörighetskrav

Univ: Förutom grundläggande behörighet, krävs 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. 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. 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

Giltig från: 2009 vecka 35

Introduction to programming using SML
Hansen Michael R., Rischel Hans
Harlow : Addison-Wesley : 1999 : 355 s. :
ISBN: 0-201-39820-6
Se bibliotekskatalogen Album

Sebesta Robert
Concepts and Programming Languages
8:e upplagan :
ISBN: 0-321-50968-0
Se bibliotekskatalogen Album