At CodeMash 2009 in January, I was lucky enough to end up in Jim Weirich and Joe O'Brien's Ruby 101 session. These guys are smart and creative, so instead of just talking a lot, they came up with a set of Ruby Koans for the participants to work on during the session. Koans were short ruby tests that we had to make pass, each test actively teaching us a new ruby feature or concept.
For me, this is a great way to start learning a programming language. There's the competitive "game" aspect, but also the "hmm, I should look into this!" insights that, if one's paying attention, inevitably come from some of the tasks. So I've started looking for more of them: small puzzles that are fun and challenging to solve, that can get my feet wet with a new programming language. Here's a list I've compiled of highly-recommended quizzes, games, koans or kata. Let me know if your favorite is missing, and I'll add it!
Ruby Koans - test-driven learning
Code Kata - coding exercises, of Pragmatic Programmers fame
Ruby Quiz - weekly programming challenge for rubyists. No longer updated, but lots of great ones in the archive
Perl Quiz of the Week - same idea, but for perl. Check the archive.
Haskell Quiz - for those of us that long to write functional code in our free time
Robocode - Open-source java coding game: test your robot against the competition!
Python Challenge - It's a challenge, and it uses python. Need I say more?
And of course, our SRT favorite, Project Euler. Interesting and challenging math and computer science puzzles that can be solved using code.