Kursplan för Datastrukturer och algoritmer

Kursplanen innehåller ändringar
Se ändringar

Kursplan fastställd 2024-02-15 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnData structures and algorithms
  • KurskodDAT525
  • Omfattning6 Högskolepoäng
  • ÄgareTKAUT
  • UtbildningsnivåGrundnivå
  • HuvudområdeInformationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 47115
  • Sökbar för utbytesstudenterNej

Poängfördelning

0121 Laboration 1,5 hp
Betygsskala: UG
1,5 hp
0221 Tentamen 4,5 hp
Betygsskala: TH
4,5 hp
  • 30 Okt 2024 em J
  • 16 Jan 2025 em J
  • 21 Aug 2025 em J
  • 05 Jun 2025 em L

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Grundläggande behörighet för grundnivå
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Särskild behörighet

Samma behörighet som det kursägande programmet.
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

Kunskaper i objektorienterad programmering motsvarande minst 7,5hp, inklusive rekursiva funktioner och metoder. Grundläggande matematiska begrepp, såsom mängder, funktioner, relationer, grafer, logaritmer och induktionsbevis.

Syfte

Datastrukturer och algoritmer utgör fundamentala byggstenar i nästan alla programvaror. Kunskaper och färdigheter i dataabstraktion, datastrukturer och algoritmer är nödvändiga vid konstruktion, användning och underhåll av förändringsbara, återanvändbara, korrekta och effektiva programkomponenter.

Kursen ger kunskaper och färdigheter i konstruktion och användning av algoritmer och datastrukturer, introduktion till algoritmanalys och dataabstraktion, samt insikter i fördelarna med dataabstraktion vid programutveckling.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Kunskap och förståelse

  • redogöra för grundläggande abstrakta datatyper och datastrukturer, bland annat listor, köer, hashtabeller, träd och grafer
  • redogöra för några av de algoritmer som används för att effektivt hantera dessa datastrukturer, och förklara varför de är korrekta

Färdigheter och förmåga

  • tillämpa grundläggande abstrakta datatyper och datastrukturer, samt algoritmer relaterade till dessa
  • implementera och använda abstrakta datatyper som gränssnitt, och datastrukturer som klasser, i ett objektorienterat programmeringsspråk
  • läsa, specificera och beskriva algoritmer, på en högre abstraktionsnivå än programkod

Värderingsförmåga och förhållningssätt

  • analysera effektivitet hos grundläggande algoritmer och datastrukturer
  • göra välgrundade val mellan olika datastrukturer och algoritmer för olika tillämpningar

Innehåll

Följande ämnen täcks av kursen:
  • abstrakta datatyper
  • datastrukturer och algoritmer, med fokus på imperativa och objektorienterade programmeringsspråk
  • vanliga datastrukturer, såsom fält (arrayer), länkade listor, obalanserade och balanserade träd, heapar och hashtabeller
  • hur dessa kan användas för att implementera abstrakta datatyper, såsom stackar, köer, prioritetsköer, avbildningar, mängder och grafer
  • standardalgoritmer för dessa datastrukturer, inklusive deras resurskrav 
  • söknings- och sorteringsalgoritmer
  • att använda olika bibliotek för datastrukturer och algoritmer
  • grundläggande komplexitetsanalys av datastrukturer och algoritmer

Organisation

Undervisningen består av föreläsningar, övningar och grupparbete med handledning.

Litteratur

Se kursens hemsida.

Examination inklusive obligatoriska moment

Kursen examineras genom en skritlig salstentamen (4,5 hp), och inlämningsuppgifter som genomförs i grupp (3,0 hp). För att bli godkänd på kursen krävs att båda modulerna är godkända. Betyget för hela kursen avgörs av den skriftliga tentamen.

Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.

Kursplanen innehåller ändringar

  • Ändring gjord på kurstillfälle:
    • 2024-04-25: Examinator Examinator ändrat från Peter Ljunglöf (peb) till Jonas Almström Duregård (almstroj) av Viceprefekt/adm
      [Kurstillfälle 1]