Do not assume practice alone will make perfect. It won't, and this is especially true with programming. You need to also have a firm understanding of the language you are learning and other general programming concepts.
For example, there is an overview here of different programming paradigms:
http://en.wikipedia.org/wiki/Comparison_of_programming_paradigms
Without those concepts and patterns in your head, how do you expect to practice until you get it perfect? You can't.
Finally, you should also check all of the material you read to ensure it is still relevant and best practice. There is no point in learning bad habits, as this is far more likely in the beginning before you fully understand exactly what you're doing.
I agree with the above as well. You should get example code bases from well designed applications and study/tweak those while you study the language/framework/design pattern etc etc
Oh, and you really want to learn faster, search for 'accelerated learning techniques'. On this topic, discover what kind of learner you are (visual/audial etc) and try to digest the majority of your information that way. It can't hurt to also satisfy all your senses in this regard. Learn via books and audio.
Good luck!