CSE 431/531: Algorithms Analysis and Design

Spring 2007
T&R 6:30 pm - 7:50 pm, Place: 109 Knox

Course Syllabus

Instructor:     Dr. Hung Q. Ngo

            Office: 238 Bell Hall
Office Hours: Tuesdays 1:00-3:00pm
Phone: 645-3180 x 160
Email: hungngo (at) cse.buffalo.edu

Teaching Assistants: (in random order) Mr. Yang Wang
Office: Trailer B14 Office Hours: Fridays 11:00am--01:00pm Email: yw43 (at) buffalo.edu Recitations: R1 (M 1:00 PM - 1:50 PM, 250 PARK), R2 (W 9:00 AM - 9:50 AM, 106 TALBRT) Ms. Thanh-Nhan Nguyen Office: Trailer B15 Office Hours: Tuesdays 8:30am-10:30am Email: nguyen9@buffalo.edu Recitations: R3 (R 8:30 AM - 9:20 AM, 214 NORTON), R4 (T 5:00 PM - 5:50 PM, 102 CLEMEN)

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.

Course Objectives:


Data Structures (CSE250), Calculus II, and a course that requires formal proofs.
The desire and ability to learn new ideas quickly.

At the end of this course, each student should be able to:


Class homepage:


Work load:

Grading policy:

Academic Honesty:

Misc. Items: