Learning, And Unlearning June 16th, 2015
I came across something that intrigued me while reading Eugene Wallingford's excellent blog, Knowing And Doing. Eugene is an associate professor at the University of Northern Iowa, teaching Computer Science.
"Reflections on teaching Python in the intro for the first course for the first time. Short version: On balance, there are many positives, but wow, there is a lot of language there, and way too many resources."
Now it's often th... wait, what? Too many resources? That doesn't seem right, does it? Surely the more resources students have to learn from, the easier it'll be for them? Not necessarily, he explains:
"Thoughts on teaching Python stand out as especially trenchant even many months later. The intro course is so important, because it creates habits and mindsets in students that often long outlive the course. Teaching a large, powerful, popular programming language to beginners in the era of Google, Bing, and DuckDuckGo is a Sisyphean task. No matter how we try to guide the students' introduction to language features, the Almighty Search Engine sits ever at the ready, delivering size and complexity when they really need simple answers."
It's certainly an interesting point. I'd always assumed that more equals better. Perhaps I was wrong.
When I browse the computing section of a bookstore now, every shelf seems to be filled with endless titles like "How To Make Minecraft Apps In Objective Swift For Dummies". Shelf after shelf of every book saying the same thing, with any book daring to be different getting diminishing shelf space every year.
How much do beginners have to un-learn after going down these branches, before they can move forward again? The things you teach first stick for years later, and when the current in-vogue platform has long gone, the specific knowledge learnt for it will become useless. The principles however, carry forward.
Are we teaching specifics without principles?
I can't help wonder how much damage we're doing.
Written by Richard Mitton,
software engineer and travelling wizard.
Follow me on twitter: http://twitter.com/grumpygiant