Computer Science and Engineering SUNY at Buffalo 
CSE 531: Design and Analysis of Algorithms
Instructor: Hung Q. Ngo 
Fall 2007Tue Thu, 11001220,Talbert 115 (map) 
This course introduces basic tools and techniques for the design and analysis of computer algorithms. Topics include asymptotic notations and analysis, greedy algorithms, divide and conquer, dynamic programming, linear programming, network flows, NPcompleteness, approximation algorithms, and randomized algorithms. For each topic, beside indepth coverage, one or more representative problems and their algorithms shall be discussed. In addition to the design and analysis of algorithms, students are expected to gain substantial discrete mathematics problem solving skills essential for computer engineers. 
Prerequisites
Data Structures (CSE250), Calculus II, and a course that requires formal proofs. 
Teaching staff and related info

Required Textbook Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, and Clifford Stein, Introduction to Algorithms (2e), 1180pp, ISBN: 0262032937, MIT Press, September 2001. 
Reference books: helpful, but not required.
