Course Information

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 2014 semester.
(recommended for students with inadequate background in Algorithms)

Post Conditions

  • Improve knowledge and understanding of material in a standard UG algorithms course
  • Impart knowledge of essential algorithmic techniques in design and analysis to pursue PG level courses and projects

Course Material

  • Video lectures of Tim Roughgarden: [C1] Course 1       [C2] Course 2
    • C1-i will denote lecture set i from C1, C2-j will denote lecture set j from C2
  • Lecture notes by Jeff Erickson
    • JE will denote these material
Topics will be those covered by C1 and C2. If time permits, we will also cover additional topics like Generating Function for solving recurrences, Fast Fourier Transform, Matroids, and, Brute force search algorithms.

Lectures will follow inverted classroom approach
  • A set of video lectures will be specified before every lecture. Students are supposed to study the video lecture before coming to class.
  • Course lecture hours will be used primarily for clarification and problem solving.


B204, Academic Building

Email: dbera @ ...

Office hours: Tuesday, Friday 3-4pm

Teaching Assistants & Office Hours:
  1. Navin Agarwal (navin1343 @ ... ) - Monday 3:30-4:30
  2. Mithun Bose (mithun1341 @ ... ) - Wednesday 4:30-5:30
  3. Khalique Newaz (khalique1398 @ ... ) - Thursday 4:30-5:30
TAs will be available near Cafe Coffee Day / glass room.

Lecture Venue: C11, Monday & Thursday 2-3:30