Should kids be technically literate? Of course! Is the best way to teach them this skill by turning them into programmers? Well, that’s a tougher question.
First, to be blunt, in much of the world, even in affluent areas, schools are not equipped to handle this task. Aside from lacking the physical technology, many also are lacking in adequate staffing resources in order to teach programming courses.
Second, it’s important to note that computer science and programming are not the same thing. Both are valuable, but in an academic program, it may actually be equally useful to teach computer science and formal logic, depending on what course of study a student wishes to pursue.
Third, programming and computer literacy are not the same thing, either. It’s entirely possible to be a computer power user without knowing how to program, and equally possible to be a programmer who doesn’t really know very much about the system that he or she is working on and how to optimize it for their use.
And fourth, instructional time is limited. Not everyone will end up using computer programming in their day jobs, so is taking time away from other subjects really going to lead to the best outcome?
That said, there’s still an argument to be made in favor.
The future is digital, and software is eating the world. To understand fundamentally how the world operates when algorithms are making decisions instead of humans requires some basic understanding of what an algorithm is and how it is created. Programming isn’t just about making things, it’s about understanding how things are made.
And the world frankly needs more programmers. There’s simply more and more code that needs to be written and managed than ever before, and while AI and automation might change what programmers are working on, it won’t change the need for them.
But further, understanding at least the basics of programming is important to being able to fully reap the benefits of open source. Having the code available to review, edit, and share under an open license is important, but can you really make use of the full power of an open license if you’re locked in by your own inability to make the changes you wish to make?
There are plenty of good reasons to take both sides.
What do you think? Should every kid today be learning to program? Why or why not?