Follow link to worrydream.com →
Programming is a way of thinking, not a rote skill. Learning about “for” loops is not learning to program, any more than learning about pencils is learning to draw. Bret Victor’s essay on “Learnable Programming” is a really solid piece on how improvements can be made when creating tools and techniques to learn how to program. I love the amount of detail and work he’s put down in the article. It’s not a secret that Victor has huge insights in this area — I’m especially fond of his Tangle Javascript library and the article “Ladder of Abstraction”.
During the past month at university, I’ve acted as a help teacher in the beginner programming course (“Object Oriented Programming using Java”). I’ve tried to push for a more wider understanding for programming: that the students should learn how to think programming — not just how to create a while-loop in Java. Far too many times I’ve seen the students get stuck on petty concepts in Java which isn’t relevant at all in the big plan. The tools to learn are often embarrassingly outdated and weak, and many fail the course. Programming and computer science is a new branch in education – it’s time to start developing modern techniques for teaching it more efficiently.