TDDB81 Programmering, 8 poäng
/Programming/

För: D1

Utbildningsområde: Teknik    Ämnesgrupp: Datalogi
Fördjupningsnivå: B

Mål:
Kursen skall ge - kunskap om begrepp för programspråk, såsom kompilering, interpretering, datatyper, datastrukturer, styrstrukturer, underprogram, parameteröverföring och andra programenheter. - kunskap om den funktionella och imperativa programmeringsparadigmen och orientering om andra paradigmer. - förmåga att formulera algoritmer, iterativa och rekursiva samt förmåga att lösa problem. - färdigheter i funktionell programmering i programspråket Lisp och användandet av ett inkrementellt programmeringssystem, där stor tonvikt läggs på metodik och på ett interaktivt arbetssätt vid programmering och programanvändning. - färdigheter i programmering i imperativa programspråk, i första hand Ada, men även orientering om andra språk. t ex C, Java och Pascal.

Förkunskaper:
Begrepp (mängder, funktioner, relationer, induktion, grafer) från TATM90 Diskret matematik och logik.

Påbyggnadskurser:
Andra programmeringskurser, t ex TDDA60 Data- och programstrukturer och TDDB34 Objektorienterad utveckling av användbara system.

Organisation:
Kursen ges under två perioder, som planeras enligt följande: Period 3: Introduktion till aktuella datorsystem. Allmän introduktion till de funktionella och imperativa programmering med tonvikt på Lisp och den funktionella programmeringen. Period 4: Projektuppgift i Lisp. Imperativ programmering i Ada. Skriftlig tentamen.

Kursinnehåll:
- Introduktion till aktuella datorssystem. - Översikt om programspråk och programmeringsparadigmer - Funktionell programmering. Data- och programabstraktion, abstrakta datatyper. Datadriven programmering. - Programspråket Lisp. Grundläggande funktioner för tal, symboler, listor och andra datatyper. Rekursion och högre ordningens funktioner. Makrofunktioner och strukturändrande funktioner. Metodik för interaktiv och inkrementell programutveckling, testnings- och felsökningsmetodik. Laborationer och större projektuppgift. - Programspråksbegrepp med tonvikt på imperativa och kompilerade språk, såsom variabler, datatyper, styrstrukturer, modulariseringsprinciper, exekveringsenheter, organisation av exekveringsssystem ("run time"), parameteröverföring, felhantering. - Programspråket Ada med laborationer.

Kurslitteratur:
SUN systemintroduktion mm, utges av institutionen för datavetenskap Haraldsson, Anders, Programmering i Lisp, Studentlitteratur, 1993 Barnes, J G P, Programming in Ada95, Addison-Wesley, 1995 Kursmaterial, utges av institutionen för datavetenskap

TEN1Skriftlig tentamen efter period 4 , 2 p.
LAB1Laborationskurs med projektuppgift i Lisp , 4 p.
LAB2Laborationskurs i Ada , 2 p.


Undervisningsspråk är Svenska.



Kurshemsida: http://www.ida.liu.se/~TDDB81/

Engelsk kursplan



Gäller 2000, beslut av utbildningsnämnden november 1999