Analysis and Design of Algorithms is about the approach or methodology for solving problems using a computer. This course covers introduction to the design and analysis of algorithms, the divide-and conquer approach, the dynamic programming design method, the greedy approach, backtracking and branch-and-bound algorithms, computational complexity.