Computer Science 372: Design and Analysis of Algorithms introduces the fundamental techniques for designing and analyzing algorithms.
| Section 1: Problems |
| Section 2: Complexity and Analysis |
| Section 3: Asymptotics |
| Section 1: Simple Divide-and-Conquer Method |
| Section 2: Methods for Solving Recurrences |
| Section 1: Dynamic Programming |
| Section 2: Greedy Algorithms |
| Section 1: Graph Algorithms |
| Section 1: Concepts of Number Theory |
| Section 2: Euclid's Algorithm |
| Section 3: Modular Algorithms and Solving Modular Linear Equations |
| Section 4: Chinese Remainder Theorem and Powers of an Element |
| Section 5: RSA Public-Key Cryptosystem |
| Section 1: P ≠ NP Question |
| Section 2: NP-Completeness |