I feel one learns a programming language the best by working with it.

There are some programming books that use this idea, by including exercises at the end of each chapter. I find that I enjoy...