Puzzles, Games & Algorithms. It reminds me that games and UI design are very good examples to learn a programming language.