Skip to main content

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 2022-2023. Please note that changes may occur.

Facts
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
None
Recommended prerequisites
DAT200 Algorithms and Datastructures
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
Compulsory assignments
4 compulsory assignments.
Course teacher(s)
Course coordinator: Reggie Davidrajuh
Head of Department: Tom Ryen
Method of work
4 hours lectures and 2 hours exercises.
Overlapping courses
Course Reduction (SP)
Algorithm Theory (MID290_1) 10
Open for
Computer Science, Master of Science Degree Programme Exchange programme at Faculty of Science and Technology
Course assessment
Form and/or discussion.
Literature
Search for literature in Leganto