These materials are from an undergraduate algorithms course that I love to teach at Cal Poly. I divide the course into 6 distinct topics: Divide and Conquer Algorithms, Graph Algorithms, Greedy Algorithms, Dynamic Programming Algorithms, Complexity, and Approximation Algorithms. I love creating useful slides, if you have any recommendations for additional topics or modifications please let me know.
Slides
The following homework assignments were mostly taken from Algorithms by Dasgupta, Papadimitriou, and Vazirani or original.
Homework