I recently learned about Project Euler, and have found it addictive. It’s a wonderful site for learning programming. It’s not powerful tools that make it great. The site’s design looks ancient; it has no programming editors; it doesn’t even have any tutorials. But it has wonder, and a series of progressively harder challenges, and lets you discover what you need to learn in order to solve those challenges. Basically, it’s a site to support exploratory learning–learning of the sort that happens when you start a new job, a new business, or a new hobby. Learning of the kind that delights when you figure out the problem, learning that sticks. Learning that happens when you dive in, get your hands dirty, and learn what you need to know along the way.
James Somers wrote a good article about Project Euler at The Atlantic. I’m still in the first dozen or so problems out of over 500, but if you want to follow my progress, my profile is here and my friend key is 858072_k8PHIvJ2fpmYfHwCObWWZ59Ql4jckfYS.