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.
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.
Lectures are on every Monday and Wednesday, 2 pm to 3:30 pm, at CSA 117. The first class is on Wednesday, August 10.
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.
- Algorithm Design by Jon Kleinberg and Eva Tardos. (Accompanying lecture slides) .
- Introduction to Algorithms by Thomas Cormen, Charles Leiserson, Ronald Rivest, and Clifford Stein.