E0 225: Design and Analysis of Algorithms, Fall 2016.
Instructors: Siddharth Barman and
Arnab Bhattacharyya
Teaching Assistants: Indranil Bhattacharya, Suprovat Ghoshal, Saravanan Kandasamy, and Anurita Mathur.
Course Description
In this course, you will learn how to design algorithms for common computational problems and how to analyse their performance rigourously. You
will see a variety of data structures and algorithms, chosen so as to illustrate foundational concepts and paradigms. Towards the end of the
course, we will also discuss what's known about the boundary between computationally feasible and infeasible problems.
Some course logistics
This term we will be using Piazza for class discussion. Rather than emailing
questions to the teaching staff, we encourage you to post your questions on the Piazza Q&A. Also, problem sets and assignments will be distributed
via Piazza instead of this webpage.
Classes
Lectures are on every Monday and Wednesday, 2 pm to 3:30 pm, at CSA 117. The first class is on Wednesday, August 10.
Text Books
-
Algorithm Design by Jon Kleinberg and Eva Tardos.
(Accompanying lecture slides) .
- Introduction to Algorithms by Thomas Cormen, Charles Leiserson, Ronald Rivest, and Clifford Stein.
Another very good resource is the book Algorithms by Sanjoy Dasgupta, Christos Papadimitriou and Umesh
Vazirani, as well as the numerous
lecture notes
scattered throughout the web.