I learned python by working through project euler in 2009. I learned a lot of common lisp the same way, in tandem with Peter Seibel’s book and a reading of SICP. I’m going to figure out how to do this in ruby. The advantage will be that I’ve already got working ideas on how to solve many of the problems, but that the types of solutions required really require exercising the edges of the language that facilitate computation.
And since it’s 2016 and not 2009, I’ll be using unit tests, which Project Euler’s problem descriptions almost always include some concrete examples to test against.