Text: Introduction to Algorithms, by Cormen, Leiserson, Rivest, Stein
Second Edition. McGraw Hill.
I can't say often enough: read this text as often as possible.
It is the gold standard.
The standard reference for C++ is The C++ Programming Language, by Bjarne Stroustrup,
Addison Wesley. Another good reference is C++ Primer, by Lippman and Lajoie.
Objectives:
Learn how to think about algorithms: their design, analysis,
and implementation.
Learn the classical data structures and their best implementations.
In addition, there will be at least four programming projects.
You must use C++.
Grading
Your grade will be determined by your homework
and programming projects (50%),
and final examination (50%).