TDDA69 |
Data- och programstrukturer, 6 hp
/Data and Program Structures/
För:
D
IP
IT
|
|
Prel. schemalagd
tid: 64
Rek. självstudietid: 96
|
|
Utbildningsområde: Teknik
Huvudområde: Datateknik, Datavetenskap Nivå (G1,G2,A): G2
|
|
Datavetenskap Datavetenskap, datalogi.
|
|
Mål:
IUAE-matris
Kursen syftar till att studenterna ska förvärva kunskap om olika programmeringsparadigmer och evalueringsstrategier och hur dessa kan implementeras. Efter avslutad kurs ska studenterna kunna:
- redogöra för aspekter av evaluering och exekvering inom olika programspråksmodeller
- förklara och demonstrera hur designval vid programspråkskonstruktion påverkar språkets uttryckskraft och effektivitet
- analysera och värdera programspråk med utgångspunkt i deras evaluerings- och kompileringsstrategier
- implementera programspråk i form av interpretator och kompilator.
|
|
Förkunskaper: (gäller studerande antagna till program som kursen ges inom, se 'För:' ovan) Funktionell och objektorienterad programmering samt erfarenhet av programmering i funktionellt språk, företrädelsevis Common Lisp eller Scheme.
OBS! Tillträdeskrav för icke programstudenter omfattar vanligen också tillträdeskrav för programmet och ev. tröskelkrav för progression inom programmet, eller motsvarande.
|
|
Påbyggnadskurser Logikprogrammering, Programmeringsteori
|
|
Organisation: Under föreläsningarna behandlas teorin. Lektionerna förbereder laborationerna och ger övning i lösandet av tillämpningsproblem. Laborationerna ger praktisk erfarenhet dels av svårigheter med olika modeller, dels av teorin i kursen.
Kursen pågår hela vårterminen.
|
|
Kursinnehåll: Följande ämnen behandlas under föreläsningar och lektioner:
- programspråket Scheme, som används som verktyg i lärobok och på laborationer samt som modellspråk för implementering av programspråk
- substitutions- och omgivningsmodellerna
- programmeringsparadigmer och beräkningsmodeller, såsom funktionell, imperativ och objektorienterad programmering, lat evaluering, strömmar, ickedeterministisk programmering och logikprogrammering
- evalueringsaspekter, parameteröverföring och exekveringsomgivningar samt modeller för rekursion
- studium och implementering av interpretator och kompilator, där Scheme är modellspråket.
|
|
Kurslitteratur: Abelson H. & Sussman, G.J. (1996) Structure and Interpretation of Computer Programs. MIT Press.
Laborationsmaterial.
|
|
Examination: |
TENA
LABA
|
En skriftlig tentamen (U,3,4,5) En laborationskurs (U,G) |
1,5 hp 4,5 hp
|
|
|
Laborationsserien kräver en betydande arbetsinsats och utgör därför större delen av kurspoängen. Laborationerna genomförs i grupper om två studenter och en viktig del av examinationen är diskussionen med assistenten. |