DM507: Algorithms and Data Structures (10 ECTS)

STADS: 15000701

Level
Bachelor course

Teaching period
The course is offered in the spring semester.
Third and fourth quarter.

Teacher responsible
Email: rolf@imada.sdu.dk

Timetable
Group Type Day Time Classroom Weeks Comment
Common I Monday 14-16 U20 05-06, 08-11, 16-21
Common I Monday 14-16 U20 05-06
Common I Monday 14-16 U20 05-06
Common I Monday 14-16 U20 05-06
Common I Monday 14-16 U20 05-06
Common I Monday 14-16 U20 05-06
Common I Monday 14-16 U20 05-06
Common I Monday 14-16 U20 05-06
Common I Monday 14-16 U20 08-11
Common I Monday 14-16 U20 08-11
Common I Monday 14-16 U20 08-11
Common I Monday 14-16 U20 08-11
Common I Monday 14-16 U20 08-11
Common I Monday 14-16 U20 08-11
Common I Monday 14-16 U20 08-11
Common I Monday 14-16 U20 16-21
Common I Monday 14-16 U20 16-21
Common I Monday 14-16 U20 16-21
Common I Monday 14-16 U20 16-21
Common I Monday 14-16 U20 16-21
Common I Monday 14-16 U20 16-21
Common I Monday 14-16 U20 16-21
Common I Tuesday 12-14 07
Common I Tuesday 12-14 07
Common I Tuesday 12-14 07
Common I Tuesday 12-14 07
Common I Tuesday 12-14 07
Common I Tuesday 12-14 U43 07
Common I Tuesday 12-14 07
Common I Tuesday 12-14 07
Common I Tuesday 12-14 U140 15
Common I Tuesday 12-14 U140 15
Common I Tuesday 12-14 U140 15
Common I Tuesday 12-14 U140 15
Common I Tuesday 12-14 U140 15
Common I Tuesday 12-14 U140 15
Common I Tuesday 12-14 U140 15
Common I Tuesday 12-14 U140 15
Common I Thursday 10-12 U20 05
Common I Thursday 10-12 U20 05
Common I Thursday 10-12 U20 05
Common I Thursday 10-12 U20 05
Common I Thursday 10-12 U20 05, 07, 09, 11, 15, 17, 19, 21
Common I Thursday 10-12 U20 05
Common I Thursday 10-12 U20 05
Common I Thursday 10-12 U20 05
Common I Thursday 10-12 U20 07
Common I Thursday 10-12 U20 07
Common I Thursday 10-12 U20 07
Common I Thursday 10-12 U20 07
Common I Thursday 10-12 U20 07
Common I Thursday 10-12 U20 07
Common I Thursday 10-12 U20 07
Common I Thursday 10-12 U20 09
Common I Thursday 10-12 U20 09
Common I Thursday 10-12 U20 09
Common I Thursday 10-12 U20 09
Common I Thursday 10-12 U20 09
Common I Thursday 10-12 U20 09
Common I Thursday 10-12 U20 09
Common I Thursday 10-12 U20 11
Common I Thursday 10-12 U20 11
Common I Thursday 10-12 U20 11
Common I Thursday 10-12 U20 11
Common I Thursday 10-12 U20 11
Common I Thursday 10-12 U20 11
Common I Thursday 10-12 U20 11
Common I Thursday 10-12 U20 15
Common I Thursday 10-12 U20 15
Common I Thursday 10-12 U20 15
Common I Thursday 10-12 U20 15
Common I Thursday 10-12 U20 15
Common I Thursday 10-12 U20 15
Common I Thursday 10-12 U20 15
Common I Thursday 10-12 U20 17
Common I Thursday 10-12 U20 17
Common I Thursday 10-12 U20 17
Common I Thursday 10-12 U20 17
Common I Thursday 10-12 U20 17
Common I Thursday 10-12 U20 17
Common I Thursday 10-12 U20 17
Common I Thursday 10-12 U20 19
Common I Thursday 10-12 U20 19
Common I Thursday 10-12 U20 19
Common I Thursday 10-12 U20 19
Common I Thursday 10-12 U20 19
Common I Thursday 10-12 U20 19
Common I Thursday 10-12 U20 19
Common I Thursday 10-12 U20 21
Common I Thursday 10-12 U20 21
Common I Thursday 10-12 U20 21
Common I Thursday 10-12 U20 21
Common I Thursday 10-12 U20 21
Common I Thursday 10-12 U20 21
Common I Thursday 10-12 U20 21
M1 TE Wednesday 14-16 U49D 05-11
M1 TE Wednesday 14-16 U49D 05-11
M1 TE Wednesday 14-16 U49D 05-11
M1 TE Wednesday 14-16 U49D 05-11
M1 TE Wednesday 14-16 U49D 05-11
M1 TE Wednesday 14-16 U49D 05-11, 15-21
M1 TE Wednesday 14-16 U49D 05-11
M1 TE Wednesday 14-16 U49D 05-11
M1 TE Wednesday 14-16 U49D 15-21
M1 TE Wednesday 14-16 U49D 15-21
M1 TE Wednesday 14-16 U49D 15-21
M1 TE Wednesday 14-16 U49D 15-21
M1 TE Wednesday 14-16 U49D 15-21
M1 TE Wednesday 14-16 U49D 15-21
M1 TE Wednesday 14-16 U49D 15-21
M1 TE Friday 12-14 06
M1 TE Friday 12-14 06
M1 TE Friday 12-14 06
M1 TE Friday 12-14 06
M1 TE Friday 12-14 06
M1 TE Friday 12-14 U89a 06, 08, 10
M1 TE Friday 12-14 06
M1 TE Friday 12-14 06
M1 TE Friday 12-14 08
M1 TE Friday 12-14 08
M1 TE Friday 12-14 08
M1 TE Friday 12-14 08
M1 TE Friday 12-14 08
M1 TE Friday 12-14 08
M1 TE Friday 12-14 08
M1 TE Friday 12-14 10
M1 TE Friday 12-14 10
M1 TE Friday 12-14 10
M1 TE Friday 12-14 10
M1 TE Friday 12-14 10
M1 TE Friday 12-14 10
M1 TE Friday 12-14 10
M1 TE Friday 12-14 16
M1 TE Friday 12-14 16
M1 TE Friday 12-14 16
M1 TE Friday 12-14 16
M1 TE Friday 12-14 16
M1 TE Friday 12-14 16
M1 TE Friday 12-14 16
M1 TE Friday 12-14 U59 16,19-20
M1 TE Friday 12-14 19-20
M1 TE Friday 12-14 19-20
M1 TE Friday 12-14 19-20
M1 TE Friday 12-14 19-20
M1 TE Friday 12-14 19-20
M1 TE Friday 12-14 19-20
M1 TE Friday 12-14 19-20
S7 TE Tuesday 12-14 09
S7 TE Tuesday 12-14 09
S7 TE Tuesday 12-14 09
S7 TE Tuesday 12-14 09
S7 TE Tuesday 12-14 U93 09
S7 TE Tuesday 12-14 09
S7 TE Tuesday 12-14 09
S7 TE Tuesday 12-14 09
S7 TE Tuesday 10-12 20
S7 TE Tuesday 10-12 20
S7 TE Tuesday 10-12 20
S7 TE Tuesday 10-12 20
S7 TE Tuesday 10-12 20
S7 TE Tuesday 10-12 20
S7 TE Tuesday 10-12 20
S7 TE Tuesday 10-12 U151 20
S7 TE Wednesday 12-14 U14 05-08
S7 TE Wednesday 12-14 U14 05-08
S7 TE Wednesday 12-14 U14 05-08
S7 TE Wednesday 12-14 U14 05-08
S7 TE Wednesday 12-14 U14 05-08
S7 TE Wednesday 12-14 U14 05-08
S7 TE Wednesday 12-14 U14 05-08
S7 TE Wednesday 12-14 U51 05-08, 10-11, 15-21
S7 TE Wednesday 12-14 U14 10-11
S7 TE Wednesday 12-14 U14 10-11
S7 TE Wednesday 12-14 U14 10-11
S7 TE Wednesday 12-14 U14 10-11
S7 TE Wednesday 12-14 U14 10-11
S7 TE Wednesday 12-14 U14 10-11
S7 TE Wednesday 12-14 U14 10-11
S7 TE Wednesday 12-14 U14 15-21
S7 TE Wednesday 12-14 U14 15-21
S7 TE Wednesday 12-14 U14 15-21
S7 TE Wednesday 12-14 U14 15-21
S7 TE Wednesday 12-14 U14 15-21
S7 TE Wednesday 12-14 U14 15-21
S7 TE Wednesday 12-14 U14 15-21
S7 TE Thursday 10-12 U49D 06
S7 TE Thursday 10-12 U49D 06
S7 TE Thursday 10-12 U49D 06
S7 TE Thursday 10-12 U49D 06
S7 TE Thursday 10-12 U49D 06
S7 TE Thursday 10-12 U49D 06
S7 TE Thursday 10-12 U151 06, 08, 10, 16
S7 TE Thursday 10-12 U49D 06
S7 TE Thursday 10-12 U49D 08
S7 TE Thursday 10-12 U49D 08
S7 TE Thursday 10-12 U49D 08
S7 TE Thursday 10-12 U49D 08
S7 TE Thursday 10-12 U49D 08
S7 TE Thursday 10-12 U49D 08
S7 TE Thursday 10-12 U49D 08
S7 TE Thursday 10-12 U49D 10
S7 TE Thursday 10-12 U49D 10
S7 TE Thursday 10-12 U49D 10
S7 TE Thursday 10-12 U49D 10
S7 TE Thursday 10-12 U49D 10
S7 TE Thursday 10-12 U49D 10
S7 TE Thursday 10-12 U49D 10
S7 TE Thursday 10-12 U49D 16
S7 TE Thursday 10-12 U49D 16
S7 TE Thursday 10-12 U49D 16
S7 TE Thursday 10-12 U49D 16
S7 TE Thursday 10-12 U49D 16
S7 TE Thursday 10-12 U49D 16
S7 TE Thursday 10-12 U49D 16
S7 TE Thursday 10-12 U49D 18
S7 TE Thursday 10-12 U49D 18
S7 TE Thursday 10-12 U49D 18
S7 TE Thursday 10-12 U49D 18
S7 TE Thursday 10-12 U151 18
S7 TE Thursday 10-12 U49D 18
S7 TE Thursday 10-12 U49D 18
S7 TE Thursday 10-12 U49D 18
S17 TE Tuesday 14-16 U24 05-11
S17 TE Tuesday 14-16 U24 05-11
S17 TE Tuesday 14-16 U24 05-11
S17 TE Tuesday 14-16 U24 05-11
S17 TE Tuesday 14-16 U24 05-11
S17 TE Tuesday 14-16 U24 05-11
S17 TE Tuesday 14-16 U24 05-11
S17 TE Tuesday 14-16 U49C 15
S17 TE Tuesday 14-16 U49C 15
S17 TE Tuesday 14-16 U49C 15
S17 TE Tuesday 14-16 U49C 15
S17 TE Tuesday 14-16 U49C 15
S17 TE Tuesday 14-16 U49C 15
S17 TE Tuesday 14-16 U49C 15
S17 TE Tuesday 14-16 U49C 17-18
S17 TE Tuesday 14-16 U49C 17-18
S17 TE Tuesday 14-16 U49C 17-18
S17 TE Tuesday 14-16 U49C 17-18
S17 TE Tuesday 14-16 U49C 17-18
S17 TE Tuesday 14-16 U49C 17-18
S17 TE Tuesday 14-16 U49C 17-18
S17 TE Tuesday 14-16 U49C 20-21
S17 TE Tuesday 14-16 U49C 20-21
S17 TE Tuesday 14-16 U49C 20-21
S17 TE Tuesday 14-16 U49C 20-21
S17 TE Tuesday 14-16 U49C 20-21
S17 TE Tuesday 14-16 U49C 20-21
S17 TE Tuesday 14-16 U49C 20-21
S17 TE Wednesday 10-12 16
S17 TE Wednesday 10-12 16
S17 TE Wednesday 10-12 16
S17 TE Wednesday 10-12 16
S17 TE Wednesday 10-12 16
S17 TE Wednesday 10-12 16
S17 TE Wednesday 10-12 16
S17 TE Thursday 14-16 18
S17 TE Thursday 14-16 18
S17 TE Thursday 14-16 18
S17 TE Thursday 14-16 18
S17 TE Thursday 14-16 18
S17 TE Thursday 14-16 18
S17 TE Thursday 14-16 18
S17 TE Friday 14-16 U49C 06
S17 TE Friday 14-16 U49C 06
S17 TE Friday 14-16 U49C 06
S17 TE Friday 14-16 U49C 06
S17 TE Friday 14-16 U49C 06
S17 TE Friday 14-16 U49C 06
S17 TE Friday 14-16 U49C 06
S17 TE Friday 14-16 U49C 08
S17 TE Friday 14-16 U49C 08
S17 TE Friday 14-16 U49C 08
S17 TE Friday 14-16 U49C 08
S17 TE Friday 14-16 U49C 08
S17 TE Friday 14-16 U49C 08
S17 TE Friday 14-16 U49C 08
S17 TE Friday 14-16 U49C 10
S17 TE Friday 14-16 U49C 10
S17 TE Friday 14-16 U49C 10
S17 TE Friday 14-16 U49C 10
S17 TE Friday 14-16 U49C 10
S17 TE Friday 14-16 U49C 10
S17 TE Friday 14-16 U49C 10
S17 TE Friday 14-16 U49C 16
S17 TE Friday 14-16 U49C 16
S17 TE Friday 14-16 U49C 16
S17 TE Friday 14-16 U49C 16
S17 TE Friday 14-16 U49C 16
S17 TE Friday 14-16 U49C 16
S17 TE Friday 14-16 U49C 16
S17 TE Friday 14-16 U49C 19-20
S17 TE Friday 14-16 U49C 19-20
S17 TE Friday 14-16 U49C 19-20
S17 TE Friday 14-16 U49C 19-20
S17 TE Friday 14-16 U49C 19-20
S17 TE Friday 14-16 U49C 19-20
S17 TE Friday 14-16 U49C 19-20
Show entire timetable
Show personal time table for this course.

Revison of timetable:
: S7 og S17 sammenlagt til S7!

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

Prerequisites:
None

Academic preconditions:
The contents of Programming A and B (DM502 and DM503) must be known. Knowledge of the contents of Mathematical Tools for Computer Science (DM527) is recommended.

Course introduction
To acquaint the students with a wide range of fundamental algorithms and data structures. Furthermore, we introduce general methods for development of algorithms, as well as mathematical tools for analyzing the correctness and efficiency of algorithms.

Expected learning outcome
After the course, the student is expected to be able to:
  1. use the algorithms taught in the course on concrete problem instances.
  2. give precise arguments for the correctness or incorrectness of an algorithm.
  3. determine the asymptotic running time of an algorithm.
  4. adapt known algorithms and data structures to special cases of known problems or new problems.
  5. design new algorithms for problems similar to those taught in the course. This includes giving a precise description of the algorithm, e.g. using pseudocode.
  6. make expedient choices of data structures.
  7. design new data structures based on known data structures.
  8. design and implement a larger program, using algorithms and data structures taught in the course.
  9. Give precise arguments for the choices made in connection with items 4-8. Subject overview
    Mathematical basis:
    • Recursion equations.
    Algorithms:
    • correctness and complexity analysis,
    • greedy algorithms,
    • divide and conquer,
    • dynamic programming,
    • sorting,
    • graph algorithms,
    • Huffmann-coding
    Data structures:
    • trees,
    • dictionaries,
    • priority queues,
    • disjoint sets
    Literature
    • Meddeles ved kursets start..


    Syllabus
    See syllabus.

    Website
    This course uses e-learn (blackboard).

    Prerequisites for participating in the exam
    None

    Assessment and marking:
    a) A 4 hour written exam where books, notes and calculators may be used. External examiner. Grades according to the 7-point marking scale.
    b) A mandatory project that count 3 ECTS of the 10 ECTS course total. Internal examiner. Passed/not passed. The project must be passed to in order to be admitted to the exam.

    Reexam after 4th quarter in August. The reexam is an oral exam with external examiner and grades according to the 7-point grading scale.

    Expected working hours
    The teaching method is based on three phase model.

    Forelæsninger (44 timer) og eksaminatorier (40 timer).
    Educational activities

    Language
    This course is taught in Danish or English, depending on the lecturer.

    Course enrollment
    See deadline of enrolment.

    Tuition fees for single courses
    See fees for single courses.