Oct 19, 2025  
2025-2026 Undergraduate Catalog 
    
2025-2026 Undergraduate Catalog

CS 4310 - Design And Analysis of Algorithms

Credits: 4
This course offers a comprehensive and rigorous exploration of algorithm design and analysis, grounded in fundamental data structures and essential mathematical principles. Core topics include efficient sorting and searching algorithms, algorithmic paradigms such as divide-and-conquer, dynamic programming, greedy methods, and amortized analysis. Students will engage with advanced techniques including selection algorithms and linear programming. The course places particular emphasis on graph algorithms-covering breadth-first and depth-first search, topological sorting, connected components, shortest paths, and minimum spanning trees-as well as selected topics in string and geometric algorithms. In addition, students will be introduced to computational complexity theory, including NP-completeness and the inherent limitations of algorithmic solutions, with an emphasis on recognizing intractable problems and evaluating algorithmic feasibility.

Prerequisites

C or better in both CS 3810 (Data Structures and Algorithms) and MA 3030 (Discrete Mathematics)

When Offered:
Other