Diskret matematik, algoritmer og datastrukturer
Studienævnet for uddannelserne ved Det Tekniske Fakultet
Undervisningssprog: Dansk. Såfremt studerende eller underviser er ikke-dansktalende, vil undervisningen foregå på engelsk.
EKA: T510040102
Censur: Ekstern prøve
Bedømmelse: 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Forår
Niveau: Bachelor
Fagnummer: T510040101
ECTS-point: 10
Godkendelsesdato: 07-04-2021
Varighed: 1 semester
Version: Arkiv
Fagnummer
Fagtitel
ECTS-point
10
Intern kursuskode
Ansvarligt studienævn
Administrationsenhed
Godkendelsesdato
Fagansvarlige
Navn | Institut | |
---|---|---|
Mikkel Baun Kjærgaard | mbkj@mmmi.sdu.dk | SDU Software Engineering, Mærsk Mc-Kinney Møller Instituttet |
Sofie Birch | sbirch@tek.sdu.dk | TEK Uddannelse, Det Tekniske Fakultet |
Undervisere
Navn | Institut | By | |
---|---|---|---|
Lene Monrad Favrholdt | lenem@imada.sdu.dk | Institut for Matematik og Datalogi | |
Rolf Fagerberg | rolf@imada.sdu.dk | Institut for Matematik og Datalogi |
Undervisningssekretær
Navn | Institut | By | |
---|---|---|---|
Anna Schollain | avs@tek.sdu.dk | TEK Uddannelseskoordinering og -support, Det Tekniske Fakultet |
Udbudssteder
Niveau
Udbudsterminer
Varighed
Anbefalede forudsætninger
Studerende, der følger kurset, forventes at:
- Besidde matematisk modenhed, som f.eks. opnået gennem kurset Calculus og Lineær Algebra.
- Kunne programmere i Java.
Overordnet målbeskrivelse
Kurset har til formål at sætte den studerende i stand til at anvende en lang række eksisterende
algoritmer og datastrukturer for fundamentale problemer, anvende generelle metoder til udvikling af
nye algoritmer, samt anvende værktøjer fra diskret matematik til beskrivelse, analyse og bevisførelse i
relation til algoritmers korrekthed og effektivitet.
Målbeskrivelse - viden
- Definere og beskrive relevante koncepter indenfor diskret matematik, algoritmer og datastrukturer
Målbeskrivelse - færdigheder
- Arbejde med logiske udsagn, relationer og bevisteknikker, herunder induktion.
- Argumentere præcist for en algoritmes korrekthed eller mangel på samme.
- Bestemme en algoritmes asymptotiske køretid.
- Tilpasse kendte algoritmer og datastrukturer til specialtilfælde af kendte problemer og til nye problemer.
- Designe nye algoritmer til at løse problemer, som i natur minder om problemer fra kurset. Herunder give en præcis beskrivelse af algoritmen, f.eks. vha. pseudokode.
- Foretage formålstjenlige valg af datastruktur.
- Designe nye datastrukturer baseret på kendte datastrukturer.
- Designe og implementere et større program, som anvender algoritmer og datastrukturer fra kurset.
- Argumentere præcist for de valg, der foretages i forbindelse med de foregående fire punkter.
Indhold
Kurset indeholder følgende faglige hovedområder:
- Diskret matematik: bevisteknikker (herunder induktion), logik, relationer, rekursionsligninger, invarianter.
- Algoritmer: korrekthed og kompleksitetsanalyse, del-og-hersk algoritmer (master teorem, Strassens algoritme), grådige algoritmer, dynamisk programmering, graf-algoritmer (BFS, DFS, topologisk sortering af DAGs, sammenhængskomponenter, stærke sammenhængskomponenter, minimum udspændende træ, korteste veje), Huffman-kodning.
- Datastrukturer: ordbøger (binære søgetræer, rødsorte træer, hashing), prioritetskøer, disjunkte mængder.
URL til Skemaplan
Antal undervisningstimer
96 timer per semester
Undervisningssprog
Dansk. Såfremt studerende eller underviser er ikke-dansktalende, vil undervisningen foregå på engelsk.
Eksamensbestemmelser
Eksamensbestemmelser
Navn
Eksamensbestemmelser
Tidsmæssig placering
I slutningen af semestret.
Udprøvninger
Eksamen
EKA
T510040102
Navn
Eksamen
Prøveform
Skriftlig prøve
Censur
Ekstern prøve
Bedømmelse
7-trinsskala
Identifikation
Studiekort - Eksamensnummer
Sprog
Følger, som udgangspunkt, undervisningssprog
ECTS-point
10