Coding Horror has a nice summary of classic puzzles in computer science, which you may have seen in your university courses.
I prefer to think of programming languages as utilitarian tools for real world problems. They let me accomplish pragmatic (and often prosaic) goals. PHP is about as unsexy a language as you’ll ever find, but does that matter when it’s the technology driving the current Boardwalk and Park Place of the web world? I’m not a fan of puzzle questions in interviews; I’d rather have potential developers give me a presentation or write a reasonably useful program in the real development environment they’ll be using on the job. Solve all the puzzles you want, but the only one we’re getting paid to solve is the customer’s problem.
That said, many fundamental computer science concepts can be summarized well in puzzle form, which aids tremendously in teaching and learning these key concepts. Here’s a quick list of the classic computer science puzzles that I remember from my university days
Pingback: Bag of Beans » Blog Archive » xkcd: Blue Eyes - The Hardest Logic Puzzle in the World