TDDB 92 PROGRAMMERING I INKREMENTELLT SYSTEM, 6 poäng

/Programming in Incremental Systems/
För C1
Utbildningsområde: Teknik
Ämnesgrupp: Datalogi
Fördjupningsnivå: B
Klassning för datavetenskaplig examen: Datavetenskap, datalogi.

Mål:
Kursen skall ge grundläggande begrepp och färdigheter i programmering samt programspråket LISP och användandet av ett inkrementellt programmeringssystem. Stor tonvikt läggs på metodik och på ett interaktivt arbetssätt vid programmering och programanvändning.

Förkunskaper:
Propedeutiska delen av TDDA 07 Orientering datateknik och datorutrustning och begrepp (mängder, relationer och grafteori) från t ex TDDB 90 Diskret Matematik och Logik.

Påbyggnadskurser:
TDDA 14 AI-programmering, TDDA 69 Data- och programstrukturer. Andra programmeringskurser.

Organisation:
På föreläsningarna behandlas programmeringsmetodik och språkets konstruktioner. På lektioner och laborationer övas språket och användningen av det inkrementella systemet. Kursen avslutas med ett projektarbete.

Kursinnehåll:
Funktionell och imperativ programmering. Data- och programabstraktion, abstrakta datatyper. Datadriven programmering.
Programspråket Common Lisp. Grundläggande funktioner för tal, symboler, listor och andra datatyper. Makrofunktioner och strukturändrande funktioner. Rekursion, högre ordningens funktioner. Genomgång och användning av hjälpsystem i ett avancerat LISP-system. Metodik för interaktiv och inkrementell programutveckling, testnings- och felsökningsmetodik.

Kurslitteratur:
Haraldsson, Anders: Programmering i Lisp. Studentlitteratur, 1993.
Kursmaterial i PINK för C-programmet. Utges av institutionen för datavetenskap.
Jalal Maleki: Common Lisp - funktionslista. Utges av institutionen för datavetenskap.

Examination:
LAB 1 En laborationskurs.
PRA 1 Projektarbete.
TEN 1 Skriftlig tentamen.