- Tim Roughgarden does an amazing job explaining how different algorithms work and the problems they are trying to solve.
- Great graph section covering different minimum spanning tree and shortest path algorithms.
- The best explanation of dynamic programming I’ve seen so far.
- The catchphrase ‘Can we do better?’ sticks in your head long after the course is over.