A tip: learn through books and take challenging tests.(though i haven't tried it.)
It's also a great way to browse for tuts and resources around the web but moderate them and at least take a time on one topic.
You cannot completely master such a language without apply it and practice it. Every one should utilize each knowledge and extend till it reach a highpoint that's where you can move to more advanced learning.