Datastrukturer og Algoritmer
2025/2026- Formål og læringsmål
Målet med dette valgfag er primært at opnå en solid praktisk forståelse for datastrukturer og algoritmer ved at udvikle små spil og visualiseringer. Vi koder alt fra små spil til simuleringer. og udforsker hvordan de fundamentale koncepter inden for datastrukturer og algoritmer er med til at gøre programmer effektive nok til at løse interessante problemer.
Viden
Gennem praktiske opgaver og projektarbejde får du både mulighed for at udvide din teoretiske forståelse, og forstå hvordan principperne kan anvendes i praksis.
Efter valgfaget er gennemført, vil du have opnået følgende viden, færdigheder og kompetencer:Den studerende har:
Færdigheder
- Kendskab til de fundamentale datastrukturer: arrays, grids, lists, stacks, queues, maps, trees og graphs.
- Kendskab til klassiske algoritmer for søgning, sortering, etc.
- Forståelse for algoritmers og datastrukturers koncept vs. implementation
- Forståelse for kompleksitet (Big-O) og hvordan forskellige algoritmer og operationer på datastrukturer kan have forskellig kompleksitet.Den studerende kan:
Kompetencer
- Anvende datatyper der er indbygget i standardbiblioteker.
- Implementere dynamiske lister, træer og graphs fra bunden.
- Anvende programmeringssprogets indbyggede algoritmer til søgning og sortering.
- Implementere egne datastrukturer, så de kan anvendes af programmeringssprogets indbyggede algoritmer.
- Programmere små spil og/eller visualiseringer af datastrukturer og algoritmer.Den studerende kan:
- Udvælge datastrukturer og algoritmer til at løse komplekse problemstillinger.
- Begrunde og optimere valget af datastrukturer og algoritmer baseret på krav til tids- og/eller plads-kompleksitet.
- Analysere og implementere algoritmer med både procedurelle og rekursiv programstruktur - Undervisningsform
Primært klasseundervisning med oplæg, øvelser, afleveringsopgaver og projektarbejde.
- Forudsætninger for at deltage i
faget
Faglige forudsætninger for at deltage i faget
Have gennemført 3. semester programmering på datamatiker-uddannelsen – eller have et solidt fundament for programmering i Java, C# eller lignende systemprogrammeringssprog.Materielle forudsætninger for at deltage i faget
Ingen udover de sædvanlige krav til en bærbar computer. - Prøve
Læringsmålene for prøven er identiske med fagets/fagenes læringsmål
Forudsætninger for indstilling til eksamenMindst 2 afleveringsopgaver skal være afleveret.Faget prøvesFaget/modulet prøves selvstændigtPrøveformKombineret skriftlig og mundtlig prøveI vil udvikle et eksamensprojekt. For at gå til eksamen skal det afleveres. Både individuel og gruppearbejde er tilladt, men eksamen er individuel.
En typisk eksamen kunne foregå ved at I først laver en demo for jeres produkt. Derefter vil I blive spurgt om jeres kode og mere. Til sidst vil I blive spurgt om at live kode.OpgavetypeDer skal udvikles en algoritme med tilhørende datastruktur, som skal kunne visualiseres, analyseres og afprøves med unit testing og, afhængigt af hvilken algoritme der er tale om, hvor god performance den har.
Selve eksamen er individuel – produktet kan udvikles i grupper.Individuel eller gruppeprøveIndividuelAnvendt sprog til prøvenDansk (Norsk/Svensk)Varighed20 minutter inkl. voteringBedømmelsesform7-trins skalaBedømmer(e)Intern censurKriterier for prøvevurderingDer gives én samlet karakter på baggrund af en helhedsbedømmelse af det samlede skriftlige produkt og den mundtlige eksamination.
På faget Datastrukturer og Algoritmer modtager du 48 timers undervisning, hvilket svarer til 64 lektioner (1 lektion = 45 min.) og 18% af din samlede arbejdsbelastning på faget.
Undervisningen vil primært bestå af følgende aktiviteter: klasseundervisning.
Forberedelsen vil primært bestå af følgende aktiviteter: projektarbejde.
Læs om KEAs studieaktivitetsmodel
*KEA kan fravige det angivne timetal, hvis det er begrundet i særlige forhold.