Algorithm Theory (DAT600)
This course is about algorithm theory and complexity theory, which includes the following topics: Graphs and graph algorithms, greedy algorithms, dynamic programming, linear programming, and NP-completeness.
Course description for study year 2024-2025. Please note that changes may occur.
Course code
DAT600
Version
1
Credits (ECTS)
10
Semester tution start
Spring
Number of semesters
1
Exam semester
Spring
Language of instruction
English
Content
Introduction to algorithm theory and complexity theory; Sorting and order statistics, datastructures , advanced design and analysis techniques, graphs and graph algorithms, multithreaded algorithms, NP-completeness.
Learning outcome
After completing this course the student should be able to:
- Understand what algorithms and datastructures mean for developing lage and complex information systems
- Create efficient algorithms, in terms of time, and resource like memory
- Choose and apply different types of algorithms depending on what the information systems demand
- Choose the optimal algorithms among many competing ones
Required prerequisite knowledge
Recommended prerequisites
Exam
Form of assessment | Weight | Duration | Marks | Aid |
---|---|---|---|---|
Written exam | 1/1 | 4 Hours | Letter grades | No printed or written materials are allowed. Approved basic calculator allowed |
Coursework requirements
4 compulsory assignments.
Course teacher(s)
Course coordinator:
Nejm SaadallahHead of Department:
Tom RyenMethod of work
4 hours lectures and 2 hours exercises.
Overlapping courses
Course | Reduction (SP) |
---|---|
Algorithm Theory (MID290_1) | 10 |