CSE 594: Combinatorial and Graph Algorithms

Fall 2006
M, W, F 9:00-9:50, Place: Talbert 115

Course Syllabus

Instructor:     Hung Q. Ngo
            Office: 238 Bell Hall
Office Hours: Wednesdays and Fridays 10:30-11:30am Phone: 645-3180 x 160
Email: hungngo@cse.buffalo.edu Course Description:

This course covers a variety of techniques for designing approximation algorithms. Three central themes are: (a) linear programming based techniques, (b) combinatorial methods, (c) randomized algorithms. Recent results on hardness of approximation, approximate counting, and semidefinite programming might also be touched upon from time to time. We shall spend roughly a third of the semester on each theme. We shall attempt to cover a broad range of commonly faced optimization problems, mostly on graphs, which can be naturally modelled and/or solved using linear programming, combinatorial, and randomization techniques. In addition to that, students are expected to gain substantial discrete mathematics problem solving skills essential for computer engineers and scientists.

The textbook is meant mostly to be a reference. We shall cover many topics not covered in the texts. Appropriate lecture notes shall be given.

This course is mathematical in nature. One aim is for students to be able to formulate practical problems mathematically, and find familiar techniques to solve them if possible.

Course Objectives:


A solid background on basic algorithms and NP-completeness theory. (A formal course like CSE531 suffices.)
Ability to read and quickly grasp new discrete mathematics concepts and results.
Ability to do rigorous formal proofs.

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


Class homepage:


Work load:

Grading policy:

Academic Honesty:

Misc. Items: