This course aims to develop your knowledge, understanding and skills about algorithm design and analysis. Upon the successful completion of this course, students shall be able to (i) apply additional analysis techniques in complexity analysis of recursive algorithms; (ii) apply, design and analyse algorithms using a number of approaches to solve various problems like sorting, shortest-path, minimum spanning tree, optimal sequencing for matrix multiplication, the longest common subsequence, string matching. Students will also learn the concepts of complexity classes P & NP and apply greedy heuristic approach to solve NP-complete problems.
-
Very enjoyable module with fun and interesting topics (if you’re interested in algorithms and computer science theory). The lecturer for second half (Dr. Shell) is really nice and explains the concepts really well. This module is slightly harder and requires a strong grasp over concepts so I would recommend going over and beyond (reading the reference textbook, solving additional questions) if you want an A+. Most of your grade is decided by your final (60%) so possible to grind at the end but its better to study throughout.
January 15, 2022