|Course Code||CS 218|
|Course Name||Design and Analysis of Algorithms|
|Pre-requisites||CS220 Data Structures and Algorithms|
|Reference||1. Algorithms, S. Dasgupta, C. H. Papadimitriou, U. V. Vazirani, 2017. 2. Algorithm Design, J. Kleinberg, E. Tardos, 2013.
1. Introduction to Algorithms, T. H. Cormen, C. E. Leiserson, R. Rivest, C. Stein, 2010.
|Description||Objective: The course aims to train students in a few standard approaches to the design and analysis of algorithms for a variety of problems arising in computer science and its applications. It also equips students with a suite of programs/algorithms which may be adapted to various situations.
• Asymptotic analysis of algorithms • Basic bit-wise computations and their analysis • Number theoretic algorithms such as the GCD and modulo computations • Introduction to graph algorithms • Algorithm design strategies such as Greedy, Divide and Conquer, and Dynamic programming • Examples of modelling of real-life problems from application areas.