Nov 16, 2024  
OHIO University Undergraduate Catalog 2023-2024 
    
OHIO University Undergraduate Catalog 2023-2024 [Archived Catalog]

Add to Portfolio (opens a new window)

CS 4040 - 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: CS 3610
Credit Hours: 3
Repeat/Retake Information: May be retaken two times excluding withdrawals, but only last course taken counts.
Lecture/Lab Hours: 3.0 lecture
Grades: Eligible Grades: A-F,WP,WF,WN,FN,AU,I
Learning Outcomes:
  • Students will be able to analyze and solve computational problems using dynamic programming.
  • Students will be able to design and analyze the complexity of divide and conquer algorithms.
  • Students will be able to infer lower bounds for comparison based computational problems.
  • Students will be able to design linear time algorithms for finding the kth element in an unsorted list.
  • Students will be able to apply NP-completeness theory and produce a proof of NP-completeness for computational problems.
  • Students will be able to compare complexity lower bounds of computational problems.
  • Students will be able to design algorithms using greedy techniques.
  • Students will be able to apply and analyze complexity notions, recurrence relations, and fundamental techniques in algorithm analysis.



Add to Portfolio (opens a new window)