Course Information
Instructor:
- Prof. Mihalis Yannakakis
- Office: 455 Computer Science
- Phone: 212- 939-7145
- email: mihalis@cs.columbia.edu
- Office hours: Tuesday 4:30 - 6:30
Teaching Assistants:
- Long Chen
- Office: TA Room, first floor Mudd
- email: lc2808@columbia.edu
- Office hours: Friday 11:00 - 1:00
- Neil Deshpande
- Office: TA Room, first floor Mudd
- email: nad2135@columbia.edu
- Office hours: Wednesday 1:00 - 3:00
- Dimitris Paparas
- Office: 511 Computer Science
- email: paparas@cs.columbia.edu
- Office hours: Monday 3:00 - 5:00
- Tao Song
- Office: TA Room, first floor Mudd
- email: ts2695@columbia.edu
- Office hours: Monday 1:00 - 3:00
- Mi Zhou
- Office: TA Room, first floor Mudd
- email: mz2332@columbia.edu
- Office hours: Wednesday 11:00 - 1:00
- Mengqi Zong
- Office: TA Room, first floor Mudd
- email: mz2326@columbia.edu
- Office hours: Thursday 4:00 - 6:00
- Dan Zhu
- Office: TA Room, first floor Mudd
- email: dz2223@columbia.edu
- Office hours: Tuesday 1:00 - 3:00
Lectures:
- Time: Tuesday,
Thursday 11:40-12:55
- Place: Mathematics 207
Prerequisites
- COMS 3137/3139 and COMS 3203 or equivalent
Textbook
The required textbook is Introduction
to Algorithms, 3rd edition, by Cormen,
Leiserson, Rivest, and Stein.
The book is available from the Book Culture bookstore (on W
112 St.), as well as online booksellers (Amazon, Barnes and
Noble etc.)
A list of known errata for the textbook is given here.
There is a number of other good books on Algorithms that can
be used for supplementary reading. The books by Aho, Hopcroft
and Ullman, The Design and
Analysis of Computer Algorithms, and the more
introductory Data
Structures and Algorithms are earlier classic texts
that cover some of the material more compactly. Algorithm Design by
Kleinberg, Tardos, and Algorithms
by Dasgupta, Papadimitriou, Vazirani are two nice more recent
books. Computers and
Intractability: A Guide to the Theory of NP-completeness,
by Garey and Johnson is the classic reference on
NP-completeness.
Class Information
Class announcements, including homeworks and handouts will be
posted on courseworks. Please make sure to visit it frequently.
Class Mechanics and Grading
The format of the course will consist of lectures and homeworks.
You are strongly encouraged to attend the lectures and
participate actively. Besides the homework assignments, there
will be an in-class midterm exam and an in-class final exam.
There will be no programming projects or assignments. The
grading will be based on the homeworks (45%), the midterm (25%)
and the final (30%).
Homeworks will be assigned
approximately every two weeks and will be posted on courseworks.
They will be due in class on their due date before the lecture
starts. Please follow the posted Homework Submission Guidelines.
Late homeworks will be penalized at the rate of 10% per late day
or part thereof (i.e. fractions of a day are rounded up).
Exceptions will be made only for exceptional unforseen
circumstances (eg. serious illness). The homework with the
lowest score will not count in the grade.
Homeworks will consist of a mix of easier and more challenging
problems. It is recommended that you
start early working on the problems. You are
encouraged to ask questions in a timely fashion and make
effective use of the office hours of the teaching staff.
One of the aims of this class is to teach you to reason about
algorithms, describe them and formally prove claims about their
correctness and performance. In writing up your assignments, it
is important to be as
clear,
precise and
succinct
as possible. Understundability will be an important factor in
the grading of the assignments.
You are permitted to discuss the homework assignments. If
you do collaborate, you must still
write
the solutions individually (without looking at anybody
else's solutions), and acknowledge anyone with whom you have
discussed the problems. It will be considered an honor
code violation to consult solutions from previous years, from
the web or elsewhere, in the event that homework problems have
been previously assigned or solutions are available elsewhere.
The CS department web page
http://www.cs.columbia.edu/education/honesty
lists
the
department's
academic
honesty policies. All students are expected to abide by these
policies.