|
Module/Course Title: Algorithm Design and Analysis |
|||||
|
Module course code KOMS120403 |
Student Workload
|
Credits 3 / 4.5 ETCS |
Semester 4 |
Frequency
Even Semester |
Duration 16 |
|
1 |
Type
of course Core Study Courses |
Contact
hours
|
Independent
Study
|
Class Size 30 |
|
|
2 |
Prerequisites
for participation (if applicable) - |
||||
|
3 |
Learning Outcomes
|
||||
|
4 |
Subject aims/Content This course studies the design and analysis of algorithms, which includes a discussion of the types of algorithmic problems in the computer world, efficiency analysis, namely the time and space complexity of algorithms, algorithm design strategies, and the limitations of each algorithm strategy. The algorithm design strategies discussed include Brute Force strategies, Recursive techniques, Divide-and-Conquer, Decrease-and-Conquer, Transform-and-Conquer, Greedy, Backtracking, Branch and Bound, Dynamic Programming, as well as algorithm complexity classes (Theory P, NP, and NP-Complete). After taking this course, students are expected to understand various kinds of algorithm design strategies, and be able to apply algorithm design techniques to solve problems in real life. Study Material
Algorithm complexity analysis Brute Force Brute Force Divide-and-Conquer Divide-and-Conquer Decrease-and-Conquer Decrease-and-Conquer All materials that have been given from the 1st meeting to the 8th meeting. Transform-and-Conquer Transform-and-Conquer Discussion about the trade-off of speed with memory efficiency Dynamic Programming Greedy Technique Algorithm capability limitation All materials |
||||
|
5 |
Teaching methods
Lecture, discussions, and questions and answers. |
||||
|
6 |
Assesment Methods
Assignment |
||||
|
7 |
This module/course is used in the following study programme/s as well Computer Science Study Programme |
||||
|
8 |
Responsibility for module/course
|
||||
|
9 |
Other Information
|
||||