I have to say, having a good learning material is essential to becoming a good programmer. I learnt to program before everyone had internet connection, and the first programming class I took was so bad, it took me close to 10 years to go back to trying my hand at programming again. The second time round I was very fortunate to have the great resources that the internet provides.
I'm not entirely sure how I feel about the educational philosophies espoused here. As a musician, I've learned firsthand the dangers of learning incorrect ways of doing things. I feel like it's a lot easier to learn something new than to unlearn a wrong way of doing things. Just my 0.02c.