Learn to program using the free, widely used Python language. As you learn to
program, you will also learn to see abstractions, patterns that you can re-use in
similar problems.
"To learn to program, you need to get your hands dirty " -- Tian Jing.
You must not only read and study, but write computer
programs, test their limits, revise and try again and again.