Before DonationCoder.com ever existed I set up a forum where some very beginning C++ programmers could get some inspiration to keep learning and some feedback on their initial attempts at writing code.
I myself learned to program by teaching myself from books, and I used to love the "teach yourself" series of books, so my aim was to reproduce the fun of those books.
The idea I came up with to motivate them was to design a series of exercises, or challenges, starting simple but getting increasingly more complicated. Assignments are little self-contained programs they have to write, most are fun little games, and most have bonuses for those who need an extra challenge.
One key idea is that you can't see the next assignment until you complete the previous one, which seems to really help motivate completion of challenges. In addition to unlocking the next challenge, once you complete a challenge you'll get a little feedback, and be able to see how other people solved the problem, and talk with them about the different approaches.
When I started DonationCoder I created a Self-teaching Programming School section on DC, but now instead of just C++, we have over a dozen different sections on languages from Autohotkey to C# to Delphi to Python to Ruby, etc. And of course C++.
We will keep adding challenges to any section so you'll never run out. And we've already had a handful of people who earned badges by completing 10 challenges in a stage and making it past the boss challenge. It seems that even some experienced coders have actually enjoyed the challenges and seeing how well they can code them..
Anyway, this post is just an invitation to stop by the programming school if you haven't already, and you feel like trying to teach yourself some programming. Everyone is welcome, regardless of age or ability, and you can simply proceed at your own pace. Remember that we don't provide actual instruction here, we just try to help motivate you and guide you with some challenges -- the rest is up to you and your favorite programming book.