CSE 373 Design and Analysis of Algorithms

Code and Name CSE 373 Design and Analysis of Algorithms
Type Core
Credit Hours 3
Pre-requisites CSE 225 - Data Structure and Algorithms, MAT 361 - Probability and Statistics

Course Summary: This course introduces basic methods for the design and analysis of efficient algorithms emphasizing methods useful in practice. Different algorithms for a given computational task are presented and their relative merits evaluated based on performance measures. The following important computational problems will be discussed: sorting, searching, elements of divide-and-conquer, dynamic programming and greedy algorithms, advanced data structures, graph algorithms (shortest path, spanning trees, tree traversals), string matching, NP completeness.

Course Objectives: The objectives of this course are to

  1. analyze the asymptotic performance of algorithms.
  2. write rigorous correctness proofs for algorithms.
  3. demonstrate a familiarity with major algorithms and data structures.
  4. apply important algorithmic design paradigms and methods of analysis.
  5. synthesize efficient algorithms in common engineering design situations.