This course is an advanced form of an introductory algorithms course, and is meant to have a thorough grounding in core Algorithms required for pursuing PG degree in Computer Science. The course covers topics such as asymptotic notation, recurrence relation, graph algorithms, heaps, dynamic programming, greedy algorithms, divide and conquer, NP-completeness where the UG contents of each topic is first reviewed in a fast-paced manner, and is followed by some advanced content.


  • Undergraduate Algorithms course
Open only to M.Tech. students in Monsoon 2015 semester (recommended for students with inadequate background in Algorithms). PhD students must seek permission to register for this course.

Post Conditions

1.Improve understanding of divide and conquer, greedy and dynamic programming techniques.
2. Advanced analysis and application of data structures like heaps, trees and graphs.
3. Understand concepts of NP-completeness and reductions.
4. Learn techniques like randomization, approximation, search, to handle intractable problems.


Wednesday 9:30-11am (C21), Friday 11:30-1pm (C12).
Note the different venue on Friday.