Algorithm Design & Analysis
Design paradigms, correctness proofs, and complexity analysis for algorithms.