I have found the easiest way to learn a new language is to write something in it. Usually this works best when I find myself having to write a fairly involved application for my job, however sometimes you just want to pick up some new skills.
So my question is what kind of "sample" applications would you write if your sole goal was to learn.
Your answer might vary based on it being a web language or client language, if you think they are different please offer suggestions for both.