E0 225: Design and Analysis of Algorithms, Fall 2017.
Instructors: Arnab Bhattacharyya and Anand Louis
Teaching Assistants: Aadirupa Saha, Arshed Nabeel, Philips George John, and Shivika Narang.
Course Description
In this course, you will learn how to design algorithms for common computational problems and how to analyse their performance rigorously. 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.
Please sign up immediately for this course at Piazza here.
Classes
Lectures are on every Monday and Wednesday, 3:30 pm to 5 pm, at CSA 117. The first class is on Wednesday, August 2.
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.