CS5800: Algorithms

Fall 2016

Class Meeting Times: MW 2:50-4:30PM
Class Location:
CG 097
Office Hours: M 10:00-11:00 and Th 3:30-4:30 PM (240 WVH)
                        and 30 mins after class most days
Tentative Course Schedule

Piazza Link

Staff    Description   Textbook   Grading
    Prerequisites      Recitations


Instructor: Rajmohan Rajaraman

Teaching Assistants:  Adib Alwani    Pavel Chernikov     Ehsan RahimiNasab      He Shi

Office Hours

Rajmohan Rajaraman
M 10:00-11:00 AM
Th 3:30-4:30 PM
240 WVH
Adib Alwani
T 4:00-6:00 PM
462 WVH
Pavel Chernikov
M 12:30-2:30 PM
362 WVH
Ehsan RahimiNasab F 4:00-6:00 PM
362 WVH
He (Josh) Shi
W 9:30-11:30 AM

Course Description

This is an introductory graduate course in algorithms.   Every computer program can be viewed as an implementation of an algorithm for solving a particular computational problem.  The focus of this course is on learning algorithm design techniques for solving the underlying computational problems.  We will also look at how algorithms translate to programs, but our emphasis will be on the algorithm design and analysis.   In this class, you will


Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein, MIT Press, Third Edition.


There are no formal prerequisites for this class.  Nevertheless, a solid understanding of basic discrete mathematics principles is necessary to do well in the course.  Please review Appendices A through C of text during the first week of classes.


Grades will be based on problem sets (15%), programming assignments (10%), in-class quizzes (total 15%), 2 midterms (15% each), and final (30%). 



TuThF 11:45-12:50 @ Ryder 247

Since this is a large class, and the main focus of the course is problem-solving, we will have weekly recitation sessions in which we will work through exercises.