Pre-requisites:
Knows basic Python programming
Has not taken /is not taking the following similar IIT Kharagpur courses:
CS21003 ('Algorithms-I' by the CS department)
CS31005 ('Algorithms-II' by the CS department)
CS60007 ('Algorithm Design and Analysis' by the CS department)
MA21005/MA21007 ('Design and Analysis of Algorithms' by the Mathematics Department)
MA60002 ('Data Structure and Algorithm' by the Mathematics Department)
Is not registered for a minor degree in Computer Science & Engineering [for UG students]
(as such students will take CS21003 / MA21007 as a part of their minor degree, if not taken already)
Is not registered for a minor degree in Mathematics and Computing [for UG students]
(as such students can take MA21005 / MA21007 as a part of their minor degree, if not taken already)
Is not a B.Tech or an M.Tech student from the Computer Science & Engineering department
(as such a student has taken / will take CS21003 & CS31005 or CS60007 as a part of the curriculum)
Is not an M.Sc or an M.Tech student from the Mathematics department
(as such a student has taken / will take MA21005/MA21007 or MA60002 as a part of the curriculum)
Text Book:
Algorithms by Christos Papadimitriou, Sanjoy Dasgupta, and Umesh Vazirani, McGraw-Hill Education, 1st edition, 2006.
Course Syllabus Outline:
[details will be provided at the start of the course]
Arithmetic
Big-O notation
Divide & Conquer
Decomposition of Graphs
Paths in Graphs
Greedy Algorithms
Dynamic Programming
Linear Programming and Reductions
NP-Complete Problems
Coping with NP-Completeness
Hashing & Randomized Algorithms
Online Lecture Management:
- Fully Online through Google Classroom [invitation based, exclusive to those who officially register]