Learning a new non-trivial programming language is a considerable task, and after doing the initial reading work it is essential to start some coding in it. I found when learning lisp (with Practical Common Lisp) that solving mathematical problems from the http://projecteuler.net site was a great and satisfying way to get going. Each problem demands the development and implementation of an algorithm (apart from a few best done in the head or on paper!). The algorithms required cover both working with numbers and strings and cover a lot of ground. There is also then a good discussion forum to debate solutions, which languages have been used etc. Enjoy!