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
Staff Description Textbook Grading Prerequisites Recitations
Instructor: Rajmohan Rajaraman
Adib Alwani Pavel Chernikov
Ehsan RahimiNasab He Shi
|M 10:00-11:00 AM
Th 3:30-4:30 PM
|T 4:00-6:00 PM
|M 12:30-2:30 PM
||F 4:00-6:00 PM
|He (Josh) Shi
|W 9:30-11:30 AM
Course DescriptionThis 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
- Work on a range of computational problems that arise in diverse applications
- Learn how to formulate problems precisely from somewhat informal descriptions
- Learn new algorithmic design techniques used to solve the problems
- Learn proof techniques critical for reasoning about your algorithms
- Learn analysis techniques critical to determine the efficiency of algorithms
- Learn how to transform algorithms to programs
TextbookIntroduction 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.
GradingGrades will be based on problem
sets (15%), programming assignments (10%), in-class quizzes (total
15%), 2 midterms (15% each), and final (30%).
- Use of laptops, tablets, or smart phones is not permitted in class.
We will not take attendance in class. But most of our lectures
will have an active learning component, including in-class quizzes, and
- No late homework will be accepted.
- Collaborating with other students in the class on homework problems
is fine and encouraged, though we urge you to attempt working out all
of the problems by yourself first. In any case, you must
write up your solutions, in your own words. Furthermore, if you
did collaborate on any problem, you must clearly list all of the
collaborators in your submission.
- Finding solutions to homework problems on the web, or by asking
students not enrolled in the class (or the class staff) is strictly
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.
- We will have about 10 weeks of recitations, with 3
recitations each week. Each recitation can accommodate 36
students. The exercises discussed in each recitation during a
week will be identical, across the 3 recitations.
- These recitations are not required, as no new material will be
taught. But it will be very helpful if every student attends one
recitation each week.