TDDB80 Programmering och datorspråk, 13 poäng
/Computer Programming and Languages/

För: C1

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

Klassning för datavetenskaplig examen: Datavetenskap, datalogi

Mål:
Kursen skall ge: - kunskap om grundläggande datavetenskapliga begrepp relaterat till datorspråk i vid bemärkelse, t ex frågespråk, kommandospråk, beskrivningsspråk, inbyggda språk, dokumentspråk och programspråk samt datorspråkens uppbyggnad och användning. - kunskap om begrepp för programspråk, såsom kompilering, interpretering, datatyper, datastrukturer, styrstrukturer, underprogram, parameteröverföring och andra programenheter. - kännedom om formella språks syntax och semantik samt grammatik. - kunskap om den funktionella, imperativa och den objektorienterade programmeringsparadigmen. - 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 Ada. - färdigheter i programmeing i objektorienterat språk i Java.

Förkunskaper:
Begrepp (mängder, funktioner, relationer, induktion, grafer) från TDDB94 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 fyra perioder, som planeras enligt följande: Period 1: Introduktion till aktuella datorsystem. Arbete med datorspråk till största delen genom grupparbete som resulterar i en inlämningsuppgift och presentation. Allmän introduktion till de funktionella och imperativa programmering med tonvikt på Lisp och den funktionella programmeringen. Period 2: Projektuppgift i Lisp. Imperativ programmering i Ada. Period 3: Projektuppgift i Ada. Objektorienterad programmering i Java. Period 4: Översikt programspråk och paradigmer. Inlämningsuppgift. Skriftlig och muntlig presentation av grupparbeten görs tillsammans med kursen TGTU78 Kommunikation.

Kursinnehåll:
- Introduktion till aktuella datorssystem. - Kunskap och kännedom om olika typer av datorspråk, såsom programspråk, frågespråk (t ex SQL för databaser), kommandospråk (t ex Unix) dokumentspråk (olika format för att representera egenskaper i dokument), beskrivningsspråk för layout (t ex HTML för www-sidor), utskriftsspråk (t ex Posts cript), inbyggda språk (t ex Excel i kalkylspråk). Grupparbete med inlämningsuppgift och redovisning. - Formella språks syntax och semantik, grammatik och automater. - 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 och projektuppgift. - Programspråket Java med laborationer. - Orientering om andra programspråk C, C++ och Pascal. Översikt av äldre programspråk, ex vis Fortran, Cobol, Algol och Simula.

Kurslitteratur:
Haraldsson, Anders, Programmering i Lisp, Studentlitteratur, 1993 Barnes, J G P, Programming in Ada95, Addison-Wesley, 1995 Sebesta, Concepts of Programming Languages, Benjamin Cummings 1995. Lärobok i Java. Kursmaterial utges av institutionen för datavetenskap.

TEN1Skriftlig tentamen efter period 2, 2 p.
LAB1Laborationskurs med projektuppgift i Lisp, 4 p.
LABALaborationskurs med projektuppgift i Ada, 3 p.
LABBLaborationer i Java, 2 p.
UPG2Inlämningsuppgifter, redovisningar och muntliga presentationer, 2 p.


Undervisningsspråk är Svenska.

Studierektor: Jalal Maleki
Examinator: Anders Haraldsson
Kurshemsida: http://www.ida.liu.se/~TDDB80/
Epostadress: andha@ida.liu.se

Engelsk kursplan



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