Updated Nov, 28th 2012
According to The Talent Code, the fastest way to learn any skill is to break it down into small parts and focus on one's mistakes. This is contrary to how most people practise - we generally prefer to practise things we are good at as doing things we are weak makes us uncomfortable.
The staggering babies embody the deepest truth about deep practice: to get good, it's helpful to be willing, or even enthusiastic, about being bad. Baby steps are the royal road to skill.
The Talent Code: Greatness Isn't Born. It's Grown. Here's How.
To accelerate the pace I learn programming, I will create a website where I can post mistakes that I have made and how I have solved it (or take questions from stackoverflow). I will also create a quizzer where I can post my old mistakes and keep drilling myself until I have fully understood the concepts.