The early homeworks in this class (Great Theoretical Ideas in Computer Science) were basically puzzles, where if you've seen the style of problem before you more or less knew the answer. The goal was to expose us to these types of problems and teach us how to think them through properly.
It was definitely one of the most fun courses I've taken.