Design and Analysis of Algorithms

This course covers topics related to algorithm design and analysis. Students will develop the skills to divide and conquer algorithms, greedy algorithms, graph algorithms, algorithms for social networks, computational biology, optimization algorithms, randomization, and algorithm analysis.

Assignments and project work will be broad in scope but will emphasize algorithmic thinking, performance guarantees and boundary cases, efficient solutions to practical problems, and understanding how to analyze algorithms. More advanced topics will have students working with modern algorithms for real-world applications.

Areas of Study

Asymptotic analysis and recurrences; classical numeric algorithms; advanced data structures; graph algorithms; divide-and-conquer, greedy choice, dynamic programming, and other computational strategies; and NP-completeness.

Watch the Design and Analysis of Algorithms course overview.

Learn More

Now is the time to earn your master’s online.