Programming Mandatory in Public Schools? Yes or No?
Over the course of the last year, more and more people are calling for programming to be a mandatory class in school. Last week, I wrote that my opinion on the topic might surprise you. If you think that I would be all for it, sorry, no I’m not.
In an article for CBC, titled “Back to school: Canada lagging in push to teach kids computer coding”, Peter Gaynord, a teacher from England, says that teaching kids to program is, “…enabling them and empowering them with skills and capability so that they can choose how they solve problems using technology.”
How does learning to program or even learning anything about computer science really do that? It doesn’t.
First, equating all technology with computers is similar to equating all food with apples. A hammer is a form of technology that is incredibly good for solving the problem of putting a nail into wood. A computer, however, is not even in the right bag of technology for this job.
Second, saying that learning to program teaches problem solving skills is pretty narrow minded. How so? Well, as Pablo Picasso said, “Computers are useless. They can only give you answers.” Part of what Picasso means by that is that questions are what drive all innovation and creativity.
“Computers are useless. They can only give you answers.” Pablo Picasso
As you may know, computers only deal in binary situations. One or zero, yes or no, and true or false are the only real answers that a computer can give. Well, those answers are for simple, basic questions. If we want our youth to be able to ask and answer the big questions, maybe we should be teaching them critical reasoning skills instead. Then they can answer the question of whether they want to learn programming or not for themselves. They can also look at the world around them and ask the question that we haven’t thought of yet. It’s those questions that will make our world even better.
In the same CBC article, William Zhou, co-founder of a Canadian high-tech company, says, “If we just say ‘Let’s teach this,’ we will end up with students that hate the classes. That’s not what we want.” I tend to agree. You can foster an interest, but you can’t force people to be interested.
“If we just say ‘Let’s teach this,’ we will end up with students that hate the classes. That’s not what we want.” William Zhou, co-founder, Chalk.com
There are many similar articles out there talking about teaching kids programming for benefits outside of just knowing how to program. But every article I’ve read so far all go back to a single reason for wanting to teach kids to code – to create tech workers for the future.
Is elementary and high school about creating workers? Or is it about giving our kids life skills and the ability to teach themselves? I prefer to think it’s the last one. To paraphrase the old “teach a man to fish” story, if you teach a kid to program, she can answer yes and no questions. If you teach a kid to think, she can answer any question and learn how to program, too. Happy computing!
Image Credit: Raspberry Pi and NAO Kids Workshop – Stephen Chin, Flickr.