Google’s Eric Schmidt recently wrote a piece endorsing the push to teach computer science to all students in Britain. While I applaud the desire to teach the logical thinking skills involved in programming, and definitely agree that more students (still not sure about all) should be taught the fundamentals of coding, I don’t think the focus should be on encouraging more people to become professional programmers.
Schmidt argues that we need more programmers in order to have more tech entrepreneurs, and that the “curriculum was all too often teaching children how to use software products such as word processors and spreadsheets, but giving no insight into how that software was created.”
The Need For Non-Programmers
This argument makes as much sense as saying that we need to have all kids taking mechanics courses in high school so they’ll be better and safer drivers. Driving a car properly does not require an understanding of what goes on under the hood just like using technology – and coming up with new ideas for using technology – does not require the ability to write an operating system from scratch.
I don’t believe that new tech ideas come from anyone looking at code and thinking about what it could do. Rather, it comes from seeing a need and programming a solution for that need. When non-programmers see a need, they hire programmers to carry out their vision. Does it help if they have any experience with programming? Yes, it makes it easier to explain your idea to a programmer when you understand how the tools work that they’ll be using to create your vision. But it’s certainly not a requirement.
Are there other benefits to knowing how to program? Yes, I believe that being able to follow programming logic trains the mind to think in more analytical ways. I believe that debugging a program leads to better problem solving skills. I also believe these skills can be taught using programs like Scratch, Gamemaker, Kodu, and others, without emphasizing the need to learn “hard core ” programming languages like C++ or PHP.
I’m pretty sure I’ve never used most of the math I learned after 6th grade. However, I do think it helped me learn how to think about things mathematically, and understand basic concepts about the world like parts of a whole and the fact that there are actual equations to calculate how much seed a farmer needs in order to plant an entire field. That has certainly been helpful in my life, despite that fact that I’ll never be a farmer.
Similarly, there is a need to teach more critical thinking skills, and programming is a great way to do that. But it does not have to be done, and perhaps should not be done, through a traditional ICT curriculum.
The Power & Problems Of Technology
I also take issue with the utopian view that the advance of technology can erase the financial boundaries between people. While the world may no longer be split between the haves and have-nots, it is still split between those who have more, and those who have less. Schmidt claims that in 12 years smartphones will be ubiquitous and handsets that today cost $400 will only cost $20. I’m sure that’s all true – but there will still be $400 smarter-phones that not everyone can afford.
Over 50 years ago the founders of Sesame Street started a new television program in order to improve pre-school education in disadvantaged homes – and they started a highly successful public broadcasting tradition that has entertained and educated multiple generations of kids.
Yet we’re still talking about the erasing the digital divide – we’ve made progress, but people with more money will always be able to afford newer technology, and more of it. It’s simply unrealistic to expect that one day everyone’s opportunities will really be equal.
Technology has the amazing power to allow humans to do more than we ever thought possible, and to provide opportunities to those who could not have dreamed of them in previous generations. However, we need to understand the limitations inherent in any technology in order to fully realize its power – and while current generations of programming languages may be more appealing to those who love programming, they still are unable to draw the attention of the majority of students. Let’s focus on what can and does appeal to them about programming in general, and leave the coding to professional programmers.