Datastrukturer og Algoritmer sat i spil
2024/2025- 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, men at gøre det ved at udvikle små spil i JavaScript. Vi koder alt fra Tic Tac Toe til Super Mario Bros. og udforsker hvordan de fundamentale koncepter inden for datastrukturer og algoritmer er med til at skabe effektive og spændende spil.
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:Kendskab til de fundamentale datastrukturer: arrays, grids, lists, stacks, queues, maps, trees og graphs.
Færdigheder
Kendskab til klassiske algoritmer for søgning, sortering, etc.
Forståelse for algoritmers og datastrukturers koncept vs implementation
Forståelse for tids-kompleksitet (Big-O) og hvordan forskellige algoritmer og operationer kan have forskellig kompleksitet.
Kendskab til særlige spil-algoritmer, som fx collision detection, path finding og decision making.Kan anvende programmeringssprogets indbyggede datatyper, og implementere dynamiske lister, træer og graphs.
Kompetencer
Kan anvende programmeringssprogets indbyggede algoritmer til søgning og sortering.
Kan udvide implementere egne datatyper så de kan anvendes af programmeringssprogets indbyggede algoritmer.
Kan programmere små spil og visualiseringer af datastrukturer og algoritmer i JavaScriptKan udvælge datastrukturer og algoritmer til at løse komplekse problemstillinger.
Kan optimere valget af datastrukturer og algoritmer baseret på krav til tids- og/eller plads-kompleksitet.
Kan implementere og håndtere algoritmer i procedurale, rekursive såvel som event-baserede programstrukturer. - Undervisningsform
Primært klasseundervisning med oplæg, øvelser og projektarbejde. Dertil små projekter-opgaver af ca. en uges varighed.
- 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 JavaScript med en smule kendskab til Java, C# eller lignende.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 5 afleveringsopgaver skal være afleveret. Midtvejsprojektet skal være afleveret, præsenteret og godkendt.Faget prøvesFaget/modulet prøves selvstændigtPrøveformKombineret skriftlig og mundtlig prøveIndividuel mundtlig eksamen baseret på projekt og rapport udarbejdet enten individuelt eller i grupper.
Gruppestørrelsen må maksimalt være 3.OpgavetypeDer skal udvikles en visualisering af en algoritme med tilhørende datastruktur – for eksempel et spil. Dertil en kort skriftlig dokumentation
Selve eksamen er individuel – produktet kan udvikles i grupper.Individuel eller gruppeprøveIndividuel eller gruppeprøve, 1-3 deltagereAnvendt sprog til prøvenDansk (Norsk/Svensk)Varighed20 minutter (incl. votering)Bedømmelsesform7-trins skalaBedømmer(e)Intern censurKriterier for prøvevurderingEksamenen vil blive bedømt i forhold til i hvor høj grad man lever
op til læringsmålene for valgfaget
På faget Datastrukturer og Algoritmer sat i spil 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.