An Algorithm is a recipe to solve a problem(s) and a sign of human intelligence.

Course Staff

Instructor: Debajyoti Bera

Lecture: C12
    Tuesday 11:30-1:00PM

    Thursday 11:30-1:00PM

Office: B204
Office hourse (in B204):
    Tuesday 2:00-4:00PM   
    Wednesday 10:30-12:00   

TA: Prateek Dewan
Office hourse (PhD Lab, 4A)
    Monday 2:00-4:00PM
    Thursday 12:00-1:00PM
Course Objective:
The purpose of this course is to learn advanced techniques in the design and analysis of algorithms. It will focus on exploring both the breadth of theoretical tools necessary for computer science as well as the depth through analysis of the related data structures and algorithms. This course is jointly taught to undergraduate students (as CSE320) and post-graduate students (as CSE520); those who have enrolled in CSE520 will be required to do an extra project (which could be a survey paper or implementation).

Chapters from these two books will be used. Both books have several copies in the library.

  1. Algorithm Design by Kleinberg & Tardos (KT)
  2. Algorithms by CLRS
  1. Linear Programming & Simplex Method (CLRS)
  2. Network Flow (KT)
  3. NP Completeness (KT)
  4. Local Search (KT)
(this list is suggestive and may change in course of teaching)