DV1625 Datastrukturer och algoritmer

Programkurs, 6 Högskolepoäng, Grundnivå, vårterminen 2021

Denna kurs är del av program och går inte att söka till.

Kursens syfte är att ge en introduktion till algoritmer och datastrukturer när det gäller såväl teoretiska aspekter som implementeringsaspekter.

Fakta

  • Undervisningsform: Campus, dagtid, deltid 50%
  • Studietid: 2021 vecka 13 till 2021 vecka 22
  • Nivå: G1F
  • Anmälan: Denna kurs är del av program och går inte att söka till.
  • Språk: Undervisningen ges i huvudsak på svenska men undervisning på engelska kan förekomma.
  • Ort: Karlskrona
  • Huvudområde: Datavetenskap
  • Välkomstbrev: Denna kurs är en del av ett program och saknar välkomstbrev.
  • Förkunskapskrav: För tillträde till kursen krävs minst 6 hp avklarade i grundläggande programmering i C++, Java eller Python samt minst 2 hp avklarade i objektorienterad programmering.

Innehåll

Grundläggande abstrakta datatyper och datastrukturer såsom listor, stackar, köer, sökträd, hashtabeller och grafer.
Grundläggande terminologi och notation som används för att beskriva algoritmers funktionalitet och egenskaper.
Relevanta algoritmer för operationer på ovan nämnda datastrukturer.
Sorterings- och sökalgoritmer.
Introduktion till komplexitetsteori.
Grundläggande paradigmer för design och analys av algoritmer.

Lärandemål

Kunskap och förståelse
• känna till och förstå relevanta begrepp och notation som används för att beskriva algoritmers funktionalitet och egenskaper.
• känna till grundläggande abstrakta datastrukturer och hur de används.
• känna till och förstå grundläggande algoritmer inom bland annat sökning och sortering.
Färdighet och förmåga
• kunna beskriva och använda grundläggande tekniker för design och analys av algoritmer.
• kunna välja och implementera algoritmer på ett strukturerat sätt för ett urval av vanligt förekommande problem.
• kunna välja och implementera lämpliga datastrukturer på ett strukturerat sätt.
Värderingsförmåga och förhållningssätt
• kunna bedöma vilka datastrukturer och algoritmer som är lämpliga för att lösa ett givet problem.
• kunna bedöma hur effektiv en algoritm är.
• kunna bedöma om ett givet val av algoritm och datastrukturer är lämpligt för att lösa ett givet problem.

Kurslitteratur och övriga läromedel

Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein, ?Introduction to Algorithms? (Third edition), ISBN 9780262533058, MIT Press, 2009.
Kompletterande kursmaterial kan tillkomma.

Kurslitteratur och övriga läromedel

Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, Clifford Stein, ?Introduction to Algorithms? (Third edition), ISBN 9780262533058, MIT Press, 2009.
Kompletterande kursmaterial kan tillkomma.

Lärande och undervisning

Kursens lärandemål examineras dels via en salstentamen, dels via två individuella inlämningsuppgifter. Inlämningsuppgifterna har både en teoretisk och praktisk komponent samt har som sitt huvudsakliga syfte att träna och utvärdera de färdigheter och förmågor som beskrivs i avsnitt 4.2 i detta dokument.

Föreläsningar används till genomgång av teori, medan självstudier och lektionstillfällen används till en fördjupning och tillämpning av teorin genom övningsuppgifter. Laborationstillfällen används för att undervisa och handleda studenterna i planering och genomförande av inlämningsuppgifterna.

Bedömning

Betyg

Kursen bedöms med betygen A Utmärkt, B Mycket bra, C Bra, D Tillfredsställande, E Tillräckligt, FX Otillräckligt, komplettering krävs, F Underkänd.

Tentamina

Du kan läsa mer om tentamen i Studentportalen och där anmäler du dig till de flesta tentamina.


Det kan finnas andra planerade examinationstillfällen. Information om dem finns i lärplattformen Canvas eller på annan plats som kursansvarig hänvisar till.

Kursvärdering

Kursansvarig ansvarar för att studenternas synpunkter på kursen systematiskt och regelbundet inhämtas och att resultaten av utvärderingar i olika former påverkar kursens utformning och utveckling.