Analysis and Design of Algorithms

CSE102 , CSE121 ,CSE101

This is a follow-up course to DSA (Data Structures and Algorithms). The focus of this course in on the design of algorithms, proofs of correctness and methods to analyse resource requirements of their algorithms. Students learn fundamental algorithmic design paradigms such as greedy algorithms, dynamic programming, divide and conquer, etc. and also learn some more data structures. The later part of the course focuses on the limitations of algorithms. In particular, the theory of NP-completeness. Students are also required to design and implement algorithms using the techniques the learn.

  1. Design algorithms using popularly used strategies like greedy, divide and conquer, dynamic programming etc."
  2. Analyse algorithms from computational complexity point of view. Ability of analyzing intractability of problem.
  3. Implement graph based algorithms.
  4. Ability of accurate implementation of algorithms, adhering to the programming best practices.
  5. Apply machine learning algorithms to real life problems.

Course Offering