Kursplanen innehåller ändringar
Se ändringarKursplan fastställd 2024-01-23 av programansvarig (eller motsvarande).
Kursöversikt
- Engelskt namnData structures and algorithms
- KurskodDAT038
- Omfattning7,5 Högskolepoäng
- ÄgareTKDAT
- UtbildningsnivåGrundnivå
- HuvudområdeDatateknik, Informationsteknik
- 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 49126
- Max antal deltagare320 (minst 10% av platserna reserveras för utbytesstudenter)
- Sökbar för utbytesstudenterJa
- Endast studenter med kurstillfället i programplan.
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0119 Laboration 3 hp Betygsskala: UG | 3 hp | ||||||
0219 Tentamen 4,5 hp Betygsskala: TH | 4,5 hp |
|
I program
- TKDAT - DATATEKNIK, CIVILINGENJÖR, Årskurs 2 (obligatorisk)
- TKELT - ELEKTROTEKNIK, CIVILINGENJÖR, Årskurs 3 (obligatoriskt valbar)
- TKGBS - GLOBALA SYSTEM, CIVILINGENJÖR, Årskurs 3 (valbar)
- TKMAS - MASKINTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
- TKMED - MEDICINTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
- TKTEM - TEKNISK MATEMATIK, CIVILINGENJÖR, Årskurs 2 (obligatorisk)
- TKTFY - TEKNISK FYSIK, CIVILINGENJÖR, Årskurs 3 (obligatoriskt valbar)
Examinator
- Peter Ljunglöf
- Universitetslektor, Computing Science, Data- och informationsteknik
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 i programplan:
- 2024-03-20: Borttaget [TKTEM, Årskurs 3 regel O] Kurstillfälle 1 borttaget av PA
- 2024-03-20: Borttaget [TKTEM, Årskurs 3 regel O] Kurstillfälle 1 borttaget av PA