TDDB 20 PROGRAMMERING - tillämpningar och datastrukturer, 5 poäng

/Programming and Data Structures/
För Ii3, Y3, YX3, TB1
Utbildningsområde: Teknik
Ämnesgrupp: Datalogi
Fördjupningsnivå: B

Mål:
Denna kurs ska ge deltagarna fördjupade kunskaper i praktisk programmering i ett industriellt gångbart programspråk, där C++ valts. Kursen ska vidare lära ut vanligt förekommande datastrukturer och algoritmer samt ge tillfälle att praktiskt arbeta med sådana. Kursen ska också ge träning på användning av olika programmeringshjälpmedel.

Förkunskaper:
TDDB 25 Programmering - abstraktion och modellering (eller annan grundkurs i programmering).

Påbyggnadskurser:
Databaser, Programmering i Ada, Artificiell intelligens och Lisp, Kompilatorer och interpretatorer, Realtids- och processprogrammering, Objektorienterad systemutveckling.

Organisation:
Föreläsningarna behandlar programspråket C++, objektorienterad analys och design, datastrukturer och algoritmer. På lektionerna behandlas olika programmeringshjälpmedel, löses övningsuppgifter och görs förberedelser till laborationer och projektarbete. På laborationerna kommer programmeringsuppgifter av varierande slag att lösas. Ett mindre projekt omfattande objektorienterad analys, design och programmering, samt dokumentering ska genomföras.

Kursinnehåll:
Programspråket C++ och dess programmeringsmiljö. Enklare objektorienterad analys och design, objektorienterad programmering. Datastrukturer: lista, stack, kö, olika slags trädstrukturer, hashtabell och prioritetskö. Sökning och sortering. Grundläggande om analys av algoritmer.

Kurslitteratur:
Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, Benjamin/Cummings, 1993. Litteratur för programspråket C++ meddelas senare.
Kursmaterial utgivet av institutionen för datavetenskap (IDA).

Examination:
LAB 1 En obligatorisk laborationskurs.
PRA 1 Ett obligatoriskt projekt.
TEN 1 En skriftlig tentamen.