Modern algorithm design

Course description

MAD is designed as a second course in analysis and design of algorithms, a follow-up to the standard undergrad course on the same topic (ADA). On the one hand, we shall dive deeper into some fundamental problems in computer science that have fast exact algorithms. Not only are these fundamental, but they also find several applications in practice. On the other hand, we shall explore classical problems that are computationally 'hard' to solve - both due to NP hardness as well as due to uncertainty in the input - and take a peek into the rich toolkit that has been developed over the last few decades to deal with them. A major focus of this course is to accustom the takers with rigorous analysis of algorithms and initiating them to tools that have become arguably indispensable in algorithm design , e.g., randomization , linear algebra etc.

Instructor Teaching Assistant

Syamantak Das Rahul Gangopadhyay

B-512, New Academic Block B-513, New Academic Block

Email : syamantak@... Email : rahulg@....

Office hours : Only by appointment (drop an email) Office hours :


Assignments : 10%,

Scribe : 10%

Quizzes : 20 %

Mid-sem : 30%

End-sem : 30%


Mid Sem (Solution Sketch)


Disclaimer : The scribe notes are not proof-read and hence might contain unintentional mistakes. Please feel free to notify about any error.


Scribe Template

  • Template is here.
  • Please read pages 1-6 of this article before you start to scribe
  • Here is a sample scribe note.