Reply to comment
I would recomend you trying to write a small app to automate some tasks you find boring - or taking some app, trying to understand the code and making modifications on it.
It's a great exercise, the algorithms are very simple to think of because you know them beforehand - you do all the steps everytime, so you just need to translate what you do mannualy into a computer language. On the way, you will stumble on things like "how I do I/O with files", "how do I organize data", "how do I search and match text (regular expressions)", and so on... In the process, you will learn a programing language itself, and will also absorb concepts as you start researching for solutions.
You can try some scripting language like Perl, Python, Ruby - well, even Shell Script can cut it.
I hope my advice gives you motivation for starting!

Motivation
Henrique (not verified) — Thu, 02/21/2008 - 23:32