|
Jan 20, 2025
|
|
|
|
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)
|
|