Last week the Federal government of Canada announced a $50 million investment in Computer Science & STEM education. A big move following similar initiatives happening with our friends in the south. I am pleased with the program and its goals, but have some concerns about “coding.”
In Code Breaker, I write about the notion of thinking. Coding is about thinking. Sure, moving robots around the room is fun, but what is the real learning taking place?
How can we use those robots to teach math, literacy and 21st century competencies like collaboration and creativity?
The key to computer science – and as a result, coding – is thinking.
People express their thoughts in language. So it might help to think about coding as a language. Even though we have language classes, we use languages in all subjects. We teach kids to read so they can learn from others – not so they can become professional readers. We teach kids to write so they can communicate, even though we know only a few will get jobs as writers.
We need to think about teaching kids to code in the same way.
Sure, the Internet of Things means more jobs will require coding. But most students aren’t going to become professional programmers – just like most students don’t become professional writers. That’s OK. They should still learn to code. They should learn to code so they can learn a different way of thinking, communicate their thoughts to others and learn what others think.
If we want to help children think differently – and maybe, better – we need to encourage them to have growth mindsets.
That means, we need to encourage them to adapt to change, take risks and learn from their mistakes without thinking they’re failures because they made a mistake. They need to learn to communicate and collaborate in order to be successful in life.