In Semester 2, 2021-2022, I will be teaching CS 2800: Design and Analysis of Algorithms.

Administrative Information.

When and Where.

Classes are held on Monday 10 am, Tuesday 9 am, Wednesday 8 am and Friday 1:00 pm. Location: Aryabhatta Hall and Zoom.


The pre-reqs for the course are CS1100, CS1200, CS2700, CS2710.

Course Description.

The objective of the course is to teach techniques for effective problem solving incomputing. The use of different paradigms of problem solving will be used to illustrate clever and efficient ways to solve a given problem. In each case emphasis will be placed on rigorously proving correctness of the algorithm. In addition, the analysis of the algorithm will be used to show the efficiency of the algorithm over the naive techniques.

Textbooks and References.

List of topics:


Teaching Assistants.

Each student will be assigned to a TA. For any questions about grading, please email your TA along with the two lead TAs. Your TAs are:

Policies and Grades.

I expect all students to behave according to the highest ethical standards. Any cheating or dishonesty of any nature will result in failing the class plus being sent to the disciplinary committee. Read about plagiarism here.