Computer Science and Engineering
SUNY at Buffalo

CSE 531: Design and Analysis of Algorithms

Instructor: Hung Q. Ngo

Fall 2007

Tue Thu, 1100-1220,
Talbert 115 (map)

Course' Blog | General InformationSchedule and Notes | Assignments | Syllabus | Helpful Links
Brief Course Description

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, NP-completeness, approximation algorithms, and randomized algorithms. For each topic, beside in-depth 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.


Data Structures (CSE250), Calculus II, and a course that requires formal proofs.

Teaching staff and related info
  • Instructor
    • Hung Q. Ngo ( hungngo [at] cse [dot] buffalo [dot] edu )
    • Office Hours: Tue/Thu 9:30-10:30am at 238 Bell Hall. Generally, you could stop by any time if my door is opened. If the door is closed, then either I'm not in or I do not wish to be disturbed. However, please try your best to come during office hours. For questions that other students might potentially be interested in, please use the course blog, it is also more efficient that way.
  • Teaching Assistants: Thanh-Nhan Nguyen and Yang Wang (please look at the syllabus for related information)

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.
  • Donald Knuth, The Art of Computer Programming Volumes 1, 2, 3, Addison Wesley.
  • Alfred V. Aho John E. Hopcroft Jeffrey Ullman, Data Structures and Algorithms, 427pp. ISBN: 0201000237, Addison Wesley, January 1983.
  • Jon Kleinberg, Éva Tardos, Algorithm Design, 864 pages, Addison Wesley, ISBN-10: 0321295358, ISBN-13: 978-0321295354, March 16, 2005.
  • Vijay Vazirani, Approximation Algorithms, Springer-Verlag, 397 pages hardcover, ISBN: 3-540-65367-8, published 2001.
  • Rajeev Motwani and Prabhakar Raghavan, Randomized Algorithms, 492 pages, Cambridge University Press (August 25, 1995), ISBN: 0521474655
  • Michael R. Garey and David S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness, 338pp. ISBN: 0716710455, W. H. Freeman Company, November 1990.