COMS 4231: Analysis of Algorithms I

Fall 2012

Course Information



Instructor: 


Teaching Assistants:








Lectures:     


Prerequisites


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

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.