CS5800: Algorithms
Fall 2018
Class Times and Locations:
TF 9:50-11:30PM, Snell Engineering Center 168 (Section 1, Rajaraman)
TF 4:00-5:40PM, Hurtig 024 (Section 2, Vijaykumar)
Office Hours: TBD
Piazza Link
Staff Description Textbook Grading Prerequisites Recitations
Staff
Instructors: Rajmohan Rajaraman Rukmini Vijaykumar
Teaching Assistants:
Rene Adaimi Kuai Hu Hamid Jahanjou Mehraneh Liaee Chuhan Liu Rohan Phadke Priya Singh
Office Hours
Rajmohan: T 12-1PM, W 4-5PM @ 240WVH or by appointment
Rukmini: Fridays, 1-3PM @ 132H Nightingale Hall or by appointment
TA Office Hours TBD
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
- 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
Textbook
Algorithm Design, by Kleinberg and Tardos, Pearson
Prerequisites
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.
Grading
Grades will be based on problem
sets (12%), programming assignments (8%), in-class quizzes (total
15%), 2 midterms (15% each), and final (35%).
Policies
- 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
problem-solving sessions.
- 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
prohibited.
Recitations
TBA
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 the problem sets and related exercises.
- We plan to have about 10 weeks of recitations, with 4
recitations each week. Each recitation can accommodate 35-50
students. The exercises discussed in each recitation during a
week will be identical, across the 4 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.