Apr 20, 2024  
OHIO University Graduate Catalog 2019-20 
    
OHIO University Graduate Catalog 2019-20 [Archived Catalog]

Add to Portfolio (opens a new window)

CS 5040 - Design and Analysis of Algorithms


Introduces modern study of computer algorithms. Topics include correctness of algorithms, analysis of iterative and recursive algorithms, worst-case, best-case, average-case, and amortized behavior, design of algorithms, divide and conquer algorithms, the greedy method, graph searching, and dynamic programming techniques. Selected additional topics may include computational geometry or NP-completeness.

Requisites:
Credit Hours: 3
Repeat/Retake Information: May not be retaken.
Lecture/Lab Hours: 3.0 lecture
Grades: Eligible Grades: A-F,WP,WF,WN,FN,AU,I
Learning Outcomes:
  • Students will develop the ability to analyze and solve computational problems using dynamic programming.
  • Students will develop the ability to analyze the complexity of divide and conquer algorithms.
  • Students will develop the ability to derive lower bounds for comparison based computational problems.
  • Students will develop the ability to design algorithms using divide and conquer techniques.
  • Students will develop the ability to devise algorithms for Max Flow/ Min Cut problems.
  • Students will develop the ability to devise linear time algorithms for finding the kth element in an unsorted list..
  • Students will develop the ability to prove NP-completeness for computational problems.
  • Students will develop the ability to prove the optimality of greedy algorithms.
  • Students will gain an understanding of NP-completeness theory.
  • Students will gain an understanding of the fundamentals of algorithms.
  • Students will gain an understanding of the greedy algorithms for Minimum Spanning Tree and Huffman Coding.
  • Students will gain knowledge of complexity lower bounds of computational problems.
  • Students will gain knowledge of the fundamental of the dynamic programming design technique.
  • Students will gain knowledge of the fundamental techniques for designing greedy algorithms.
  • Students will gain knowledge of, and the ability to use, complexity notions, recurrence relations, and fundamental techniques in algorithm analysis.



Add to Portfolio (opens a new window)