TDDB 93 PROGRAMMERING I INKREMENTELLT SYSTEM, 6 poäng

/Programming in Incremental Systems/
För D1, DX1-2
Utbildningsområde: Teknik
Ämnesgrupp: Datalogi
Fördjupningsnivå: B

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:
Användning av aktuella datorsystem från t ex TDDB 07 Orientering datateknik och datorutrustning och begrepp (mängder, relationer, induktion och grafteori) från t ex TATM 90 Diskret matematik och logik.

Påbyggnadskurser:
Andra programmeringskurser, TDDA 69 Data och programstrukturer.

Organisation:
Kursen ingår i den andra tematerminen Datateknik. Därför kommer innehållet i kursen att samordnas med de övriga kurserna, speciellt kursen TATM 90 Diskret Matematik och logik. På föreläsningarna behandlas programmeringsmetodik och språkets konstruktioner. På lektioner och laborationer övas språket och användningen av det inkrementella systemet, där flera laborationer har samband med innehåll i tematerminens övriga kurser. Observera att ordinarie tentamen görs vid påskperiodens tentamenstillfälle, med omtentamen efter period 4.

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 D-linjen. Utges av institutionen för datavetenskap.

Examination:
LAB 1 En laborationskurs.
TEN 1 Skriftlig tentamen (den ordinarie är förlagd till påskperiodens tentamensperiod).