The text for this course is Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, Introduction to Algorithms, Second Edition, MIT Press, 2001.
The prerequisite for this course is C or better in CS 310, CS 330, and Math 114. We will study fundamental data structures and algorithms with an emphasis on establishing correctness and analysis of running-time properties of the algorithms. Students should be comfortable doing mathematical proofs.
Topics for the course include:
There will be regular homework assignments, a midterm, and a final exam. There will be no late homeworks accepted and there will be no make-ups on the exams except for truely exceptional (as judged by me) reason. Grades will be computed from a weighted average using the weights: