Describir: Puzzles as heuristic programming exercises.