@gooner: Second advice: do not learn from "sterile" examples such as those usually available in books. Set youself a goal and then look for information and learn what you need in order to reach that goal. Examples in books usually focus on a situation that maybe will never exist in the rela-life. Moreover, most of the timeyou will wonder when such a thing would be useful.
If you set yourself a goal, then your motivation will be at its maximum and even the most boring thing to program would then seem interesting, simply because *you* need it. The advantage of this is that it forces you to look for information and learn. It's useless to learn things by heart, learn where to find the information and how to adapt it to your problem. I always hated teachers in school giving us "sterile" exercises. I can still hear them saying "we would like to do this and that..." NO! WE DO NOT WANT TO DO THIS AND THAT. Show me how to analyse the problem I WANT to solve and HOW TO LOOK FOR INFOMATION. This way the motivation of learning will always be at its maximum.
Shockwave had a very good idea in pushing you directly into graphic programming. Drawing stuff on the screen is much more motivating that starting with a program that manages a list of clients or converts the temperature from Farenheit into Celsius degrees. IMHO, the best projects to jump in are games (1st place) then intros/demos. The take you through pretty much everything you need to understand/learn in order to become a good programmer. Things like organizing your code, optimizing your code, understanding how the machine works are not visible in a simple Farenheit to Celsius conversion (which is an real example in a reference book for learning the C language...)
With the "line drawing" example Shockwave gave you, you can easily code your first game: Tron (see here:
http://en.wikipedia.org/wiki/Tron_(arcade_game)). If you achieve this kind of goal, then your knowlegde would increase quite rapidly....
I used to teach programming for kids during summer camps. The way we (I was not the only teacher) did it was to give a 2 weeks challenge to absolute beginners: write a Tron game and the best game among all the participants at the summer camp would be rewarded with a prize. Since they were all kids between 8 and 12 years old, the prize would be like a game, a joystick and that kind of stuff.
Believe me or not, the motivation they had was incredible. At the end of the 2 weeks challenge, we had really good games with multiple players, high scores, traps, bonuses, etc. Everyone added extra stuff beyond the basic game in order to win. And of course our goal was reached => they learned programming in 2 weeks. We had tons of questions like "how do I do this and that?". We never had to force them to learn things => they wanted to learn.
Best regards,
Stormbringer