In Semester 2, 2017-2018, 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: CSB 36.

Office Hours and Teaching Assistants.

The teaching assistants for the course are listed below. Office hours to be decided.


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:


Policies and Grades.

Collaboration is encouraged but you must write up solutions on your own. You must also write the names of all the people you discussed the problem with. In case you find material that will help you in solving some problems, you should mention the source in your writeup. Class participation will also be taken into account when assigning 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.