studiehandbok@lith | ||
|
||
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 TDDA69 Data- och programstrukturer. Organisation: Kursen ges under fyra perioder, som planeras enligt följande: Period 1: Allmän introduktion till de funktionella och imperativa programmering med tonvikt på Lisp och den funktionella programmeringen. Grupparbete. Skriftlig och muntlig presentation av grupparbetet görs tillsammans med kursen TGTU78 Kommunikation. Period 2: Projektuppgift i Lisp. Imperativ programmering i Ada. Period 3: Projektuppgift i Ada. Objektorienterad programmering i Java. Grupparbete med studium av programspråk. Skriftlig och muntlig presentation av grupparbetet görs tillsammans med kursen TGTU78 Kommunikation. Period 4: Programspråk: Begrepp och konstruktioner. Inlämningsuppgift.Kursinnehåll: - 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 alt. Skansholm, Jan, ADA från början, Studentlitteratur. Sebesta, Concepts of Programming Languages, Benjamin Cummings 1995. Lärobok i Java. Kursmaterial utges av institutionen för datavetenskap. | ||
TEN1 | Skriftlig tentamen efter period 2, 2 p. | |
LAB1 | Laborationskurs med projektuppgift i Lisp, 4 p. | |
LABA | Laborationskurs med projektuppgift i Ada, 3 p. | |
LABB | Laborationer i Java, 2 p. | |
UPG2 | Inlämningsuppgifter, redovisningar och muntliga presentationer, 2 p. |
Undervisningsspråk är Svenska.
|
|
||||||
|