Computer Science & Engineering Department, SUNY at Buffalo
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, 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.

Place and Time: Tuesdays and Thursdays 6:30 pm - 7:50 pm, 109 Knox (map) - Spring 2007 Class Syllabus
Teaching staff and related info
  • Instructor
    • Dr. Hung Q. Ngo ( hungngo [at] cse [dot] buffalo [dot] edu )
    • Office Hours: Tuesdays 1-3pm 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 class news group at sunyab.cse.531, it is also more efficient that way.
  • Teaching Assistant 1 (arbitrarily numbered)
    • Mr. Yang Wang
    • Office Hours: Fridays 11am-01pm, Trailer B14
    • Recitation Section: R1 (M 1:00 PM - 1:50 PM, 250 Park), R2 (W 9:00 AM - 9:50 AM, 106 TALBRT)
  • Teaching Assistant 2 (arbitrarily numbered)
    • Ms. Thanh-Nhan Nguyen
    • Office Hours: Tuesdays 8:30am-10:30am, Trailer B14
    • Recitation Section: R3 (R 8:30 AM - 9:20 AM, 214 NORTON), R4 (T 5:00 PM - 5:50 PM, 102 CLEMEN)

Required Textbook

  • Jon Kleinberg, Éva Tardos, Algorithm Design, 864 pages, Addison Wesley, ISBN-10: 0321295358, ISBN-13: 978-0321295354, March 16, 2005.

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.
  • Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, and Clifford Stein, Introduction to Algorithms (2e), 1180pp, ISBN: 0262032937, MIT Press, September 2001.
  • 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.
Announcements | Schedule | Assignments | Syllabus | Lecture Notes | Helpful Links