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 | ||
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 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 TDDB90 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 tre perioder, som planeras enligt följande: Period 0: Introduktion till aktuella datorsystem Period 1: 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. Översikt programspråk och paradigmer. Inlämningsuppgift.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 större projektuppgift. - Orientering om programspråken C, C++, Java och Pascal. Översikt av äldre programspråk, ex vis Fortran, Cobol, Algol och Simula.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 Sebesta, Concepts of Programming Languages, Benjamin Cummings 1995 Kursmaterial, utges av institutionen för datavetenskap | ||
TEN1 | Skriftlig tentamen efter period 2, 2 p. | |
LAB1 | Laborationskurs med projektuppgift i Lisp, 4 p. | |
LAB2 | Laborationskurs med projektuppgift i Ada, 4 p. | |
UPG1 | Inlämningsuppgifter, redovisningar och muntliga presentationer, 3 p. |
Undervisningsspåk är Svenska.
Engelsk kursplan