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 ( hungngo [at] cse [dot] buffalo [dot] edu )
    • Office Hours: Thursdays 10-12am. 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. Guang Xu (guangxu [at] cse [dot] buffalo [dot] edu)
    • Office Hours: Wednesdays 1-3pm, 329 Bell Hall.
    • Recitation Section: A2, Wednesday 3:00pm-3:50pm, 220 Clemen
  • Teaching Assistant 2 (arbitrarily numbered)
    • Mr. Zhiyong Lin (zlin [at] cse [dot] buffalo [dot] edu)
    • Office Hours: Fridays 1-3pm, 329 Bell Hall.
    • Recitation Section: A1, Friday 11:00am-11:50am, 213 Obrian
  • Recitation A3 (Tuesday 4:00pm-4:50pm, 101 Baldy) will be held alternatively between the two TAs.

Place and Time: T&R 2:00 pm - 3:20 pm, 322 Clemen
Required Textbook: Introduction to Algorithms (2e), 1180pp, Thomas H. Cormen, Charles E. Leiserson, Ronald Rivest, and Clifford Stein, ISBN: 0262032937, MIT Press, September 2001..

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