Speaking of Robert Sedgewick, I deeply enjoyed his course Analysis of Algorithms, as Sedgewick beautifully showed the power of generating functions. Generating functions, or analytical combinatorics in general, make it order-of-magnitude easier to analyze algorithm complexities compared to what we learn in an introductory course. It's mind boggling to experience how higher-level constructs of math reveal simplicity and deep insights.