TDDB 27 PROGRAMMERING - abstraktion och modellering, 4 poäng

/Programming: Abstraction and Modelling/
För MX1-2, M2, YX3
Utbildningsområde: Teknik
Ämnesgrupp: Datalogi
Fördjupningsnivå: B

Mål:
Kursen ger grundläggande kunskaper och färdigheter i design och konstruktion av program. Kursen baseras på en ingenjörsmässig syn på programmering och betonar abstraktion som ett generellt och effektivt sätt för problemlösning och modellering av beräkningsprocesser och tekniska system.

Förkunskaper:
Grundläggande kunskaper i programmering.

Påbyggnadskurser:
TDDA 09 Programmering i ADA, TDDA 29 Datastrukturer, TDDA 64 Programutvecklingsmetodik.

Organisation:
Kursen ges över två perioder och består av 34 timmar föreläsningar och lektioner, och 26 timmar laborationer. Föreläsningarna behandlar kursens grundläggande begrepp. Lektioner och laborationer ger exempel på deras användning.
Utöver den schemalagda undervisningen krävs av deltagarna en hel del hemarbetstid.
Kurinnehåll:
Översiktlig introduktion till datavetenskap. Abstraktion: procedurell abstraktion, dataabstraktion. Iterativa och rekursiva beräkningsprocesser. Datastrukturer: träd, köer, tabeller. Modellering av objekt och tillstånd. Programmodularitet. Orientering i några olika programmeringsparadigmer. Programspråket SCHEME (en LISP-dialekt): symboler, uttryck, listor, variabler och omgivningar, procedurer, högre ordningens procedurer. Modeller för interpretering av program: substitutionsmodellen, omgivningsmodellen.

Kurslitteratur:
Abelson, H, Sussman, G, J, Structure and Interpretation of Computer Programs. MIT Press.

Examination:
LAB 1 En laborationskurs.
TEN 1 En skriftlig tentamen.