

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, NPcompleteness, approximation algorithms, and network flows analysis. For each topic, beside indepth 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  


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:

