KURSPLAN
Datastrukturer och algoritmer, 7,5 högskolepoäng
Data Structures and Algorithms, 7.5 credits
Kurskod: TDSK17
Fastställd av: VD 2017-02-01
Gäller fr.o.m.: 2018-01-01
Version: 1
Diarienummer:JTH 2017/370-313
Utbildningsnivå: Grundnivå
Utbildningsområde: Tekniska området (95%) och samhällsvetenskapliga området (5%)
Ämnesgrupp: DT1
Fördjupning: G1F
Huvudområde: Datateknik

Lärandemål

Efter genomgången kurs skall studenten

Kunskap och förståelse

- ha kännedom om enhetstestning

Färdighet och förmåga

- visa förmåga att skriva rekursiva algoritmer
- visa förmåga att analysera en algoritms komplexitet och estimera dess exekveringstid
- visa förmåga att implementera grundläggande datastrukturer såsom köer, stackar, sökträd och hashtabeller
- visa förmåga att programmera med pekare i länkade listor och träd
- visa förmåga att välja lämpliga datastrukturer vid praktisk problemlösning
- visa förmåga att implementera grafalgoritmer, inklusive Dijkstras algoritm

Innehåll

Avancerade datorprogram nyttjar nästan alltid vissa grundläggande datastrukturer (stackar, köer, hashtabeller, etc.). En programmerare måste därför vara väl förtrogen med dessa datastrukturer. Han/hon måste förstå hur de fungerar, vilken prestanda de har, och hur de kan nyttjas av program som löser komplexa problem. Denna kurs syftar till att täcka detta behov, samtidigt som den ger studenten möjlighet att praktisera sina sen tidigare förvärvade kunskaper i C/C++ och fördjupa sin förståelse av strukturerad programmering.
Kursen behandlar datalogins mest grundläggande datastrukturer och de algoritmer som lagrar och hämtar data från dessa. Kursen innehåller också flera exempel på tillämpningar.
Kursen innehåller följande moment:
- Rekursion
- Algoritmanalys
- Grundläggande datastrukturer
- Grafer
- Sortering

Undervisningsformer

Undervisningen ges i form av föreläsningar och programmeringsövningar.

Undervisningen bedrivs normalt på svenska men undervisning på engelska kan förekomma.

Förkunskapskrav

Grundläggande behörighet samt genomgången kurs i Introduktion till programmering, 9 hp och Diskret Matematik, 7,5 hp (eller motsvarande kunskaper).

Examination och betyg

Kursen bedöms med betygen 5, 4, 3 eller Underkänd.

Poängregistrering av examinationen för kursen sker enligt följande system:
ExaminationsmomentOmfattningBetyg
Tentamen15 hp5/4/3/U
Laborationer2,5 hpU/G
1 Bestämmer kursens slutbetyg vilket utfärdas först när samtliga moment godkänts.

Övrigt

Undervisningen bygger på att studenten har kännedom om programmeringsspråket C.

Kurslitteratur

Kurslitteratur fastställs senast en månad före kursstart.