DM507: Algoritmer og Datastrukturer (10 ECTS)

STADS: 15000721

Niveau
Bachelorkursus

Undervisningsperiode
Kurset er placeret i forårssemesteret.
3. og 4. kvartal.

Ansvarlige undervisere
Email: rolf@imada.sdu.dk

Skemaoplysninger
Hold Type Dag Tidsrum Lokale Uger Kommentar
Fælles I Mandag 14-16 U140 06,08,10,12,15,18,20
Fælles I Onsdag 14-16 U140 06-08,10-13,15,17-22
S1 TE Mandag 16-18 U154 06-08,10-13,18-22
S1 TE Onsdag 16-18 U154 07,11,13,17,19-22
S1 TE Fredag 14-16 U152 17
S2 TE Mandag 14-16 U141 22
S2 TE Tirsdag 12-14 U155 06-08,10-12
S2 TE Tirsdag 10-12 U155 13,17-22
S2 TE Torsdag 10-12 U24 07,11,13,17,19,21
S7 TE Tirsdag 08-10 U24 06-08,11-13
S7 TE Tirsdag 10-12 U49b 17-22
S7 TE Fredag 10-12 U26a 07,11,13
S7 TE Fredag 10-12 U153 10
S7 TE Fredag 10-12 U14 17,19,21-22
S17 TE Tirsdag 15-17 U154 06-08,10-13,17-22
S17 TE Fredag 14-16 U30a 07,11,13,17,19,21-22
Vis hele skemaet
Vis personligt skema for dette kursus.

Skemaændringer:
: Eksaminatorietimerne for hold S1 i DM507 om onsdagen fra kl. 16-18 i ugerne 07,11,13,17,19,21, har følgende ændringer: Uger ændret fra 07,11,13,17,19,21 til 07,11,13,17,19,21,22
: Eksaminatorietimerne for hold S2 i DM507 om torsdagen fra kl. 10-12 i ugerne 07,11,13,17,19,21, har følgende ændringer: Uger ændret fra 07,11,13,17,19,21 til 07,11,13,17,19,21,22

Kommentar:
Ubegrænset deltagerantal. 3. + 4. kvartal.

Indgangskrav:
Ingen

Faglige forudsætninger:
Stoffet fra DM536 Introduktion til programmering og DM537 Objekt-orienteret programmering skal være kendt. Stoffet fra DM535 Diskrete metoder til datalogi anbefales kendt.

ELLER

Stoffet fra Programmering A og B (DM502 og DM503) skal være kendt. Stoffet fra Matematiske Redskaber i Datalogi (DM527) anbefales kendt

Kursusintroduktion
Kursets formål er at give kendskab til en bred vifte af fundamentale algoritmer og datastrukturer. Endvidere introduceres generelle metoder til udvikling af algoritmer, samt matematiske værktøjer til analyse af algoritmers korrekthed og effektivitet.

Forventet læringsudbytte
Ved kursets afslutning forventes den studerende at kunne:

  • anvende algoritmerne fra kurset på konkrete problemer.
  • 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 bl.a. anvender algoritmer og datastrukturer fra kurset.
  • argumentere præcist for de valg, der foretages i forbindelse med de foregående 4 punkter.
Emneoversigt
Matematisk grundlag: rekursionsligninger.

Algoritmer: korrekthed og kompleksitetsanalyse, del og hersk algoritmer, grådige algoritmer, dynamisk programmering, sortering, graf-algoritmer, Huffman-kodning.

Datastrukturer: træer, ordbøger, prioritetskøer, disjunkte mængder.

Litteratur

    Meddeles ved kursets start.


Kursets hjemmeside
Dette kursus benytter e-learn (blackboard).

Forudsætningsprøver
Ingen

Eksamen- og censurform:
  1. Obligatorisk projektopgave som tæller 3 ECTS ud af kurset samlede omfang på 10 ECTS. Intern censur ved én underviser. Bestået/ikke bestået. Projektopgaven skal være bestået, for at man kan deltage i eksamen. (15000712)
  2. 4 timers skriftlig eksamen. Ekstern censur. Karakter efter 7-trinsskalaen (tæller 7 ECTS). (15000702)

Reeksamen efter 4. kvartal i august. Reeksamen er en mundtlig eksamen, der bedømmes med karakter efter 7-trinsskalaen og ekstern censur.



Vejledende timetal
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
Introfase: 44 timer
Træningsfase: 40 timer, heraf:
 - Eksaminatorie: 40 timer

Aktiviteter i studiefasen Studiefase: 14 timer

Sprog
Dette kursus undervises på dansk eller engelsk, afhængigt af underviseren.

Kursustilmelding
Se tilmeldingsfrister.

Pris for åben uddannelse
Se priser for enkeltkurser.

Denne kursusbeskrivelse var gyldig fra 1. februar 2014 til 31. januar 2015.