

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: 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:

