Computer Science & Engineering Department, SUNY at Buffalo
Brief Course Description

This course introduces basic elements of the design and analysis of computer algorithms. Topics include asymptotic notations and analysis, parallel sorting networks, divide and conquer, greedy methods and matroids, dynamic programming, basic graph algorithms, NP-completeness, approximation algorithms, and network flows analysis. 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.

Class Syllabus
Prerequisites: Data Structures (CSE250), Calculus II, and a course that requires formal proofs.
Teaching staff and related info
  • Instructor
    • Prof. Hung Q. Ngo (
    • Office Hours: Thursdays 1-3pm. 239 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 Chen
    • Office Hours: Mondays 2-4pm, Trailer B8
    • Recitation Section: B3, Fridays, 10:00-10:50, 422 FRNCZK
  • Teaching Assistant 2 (arbitrarily numbered)
    • Mr. Guang Xu
    • Office Hours: Tuesdays 3-5pm, Trailer E12
    • Recitation Section: B2, Thursdays, 15:30-16:20, 209 Norton, and B1, Mondays, 12:00-12:50, 250 Park.

Place and Time: MWF 09:00 - 09:50, Knox 14.
Required Textbook 1: Introduction to Algorithms (2e), 1180pp, Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, and Clifford Stein, ISBN: 0262032937, MIT Press, September 2001..
Required Textbook 2: Algorithms: Sequential & Parallel, 330pp, Russ Miller and Lawrence Boxer, ISBN: 0130863734, Prentice Hall PTR, December 1999.

Reference books:
  • Donald Knuth, The Art of Computer Programming Volumes 1, 2, 3, Addison Wesley.
  • Gilles Brassard, Paul Bratley, Fundamentals of Algorithmics, Prentice Hall
  • Alfred V. Aho John E. Hopcroft Jeffrey Ullman, Data Structures and Algorithms, 427pp.
    ISBN: 0201000237, Addison Wesley, January 1983.

Announcements | Schedule | Assignments | Syllabus | Lecture Notes | Helpful Links