But when we can't get more than half the students in our inner cities through high school, and at the same time burden ourselves with a new set of Common Core Standards (which do not include coding), and try to focus on those skills which make our students college- and career-ready, how can we take this demand for coding seriously?
It is easy to agree with all the smart and famous people behind the push for coding in school: learning to code helps you understand how computers work, it disciplines your mind, and for some may provide a path to a vocation. And it's fun if taught correctly.
This discussion on whether coding should be taught in school is as old as computers themselves. In 1983 I wrote a policy booklet for the State Board of Education in Vermont, Computer Considerations for Vermont Schools. Here's a quote:
One of the purposes of education is to remove the shroud of mystery and misunderstanding that surrounds the physical and the social world. We pride ourselves on being able to teach every new citizen to understand, deal with, and even shake the system of natural and human laws that he lives under. Computers, like these laws, are too most of us a mystery. Those who understand the secrets of the computer it's languages it's operating procedures, it's terminology, it's physics have a certain power over the rest of us. This kind of power is not healthy.
Nor is it healthy for children to grow up feeling that they cannot understand technology, that these micromachines are magic boxes that are fully in control of themselves. Every child must master the secrets of the computer, must understand the basic operation of the device, and must be shown how to control it, to make it do what he or she wants. One of our tasks as educators is to have every student leave school with the attitude that she is the master of the machine, and that everything that the machine does is explainable.
This is probably not a task for every educator, but is certainly tied up with teaching the science of computer technology. Teachers, too, need to understand the secrets of the machines -- a week or two at computer camp for every teacher and administrator might be necessary....
There are two kinds of secrets that need to be divulged: the science of the computer and the methods used to program it. Included in the curriculum should be a study of the mechanics of this ubiquitous machine; it can start in the primary years as part of science, and be added to each year. More advanced study of the physics of the machine and it's chips can be an elective available to high school students.
Similarly the rudiments of programming: giving the machine instructions that make it perform: can begin at a young age. There are even special programming languages, such as logo, I have been especially designed for primary graders. The computer's secrets can be let out early and told with more and more detail each year as the students grow older, so that the machine is never a mystery to them.
So you see there is a soft spot in this old and wizened heart for those who want to teach coding in school.
But the reality is that we will need in the future hundreds of thousands of Microsoft Office Experts but only a few coders. In fact, the U.S. Department of Labor predicts that over the next ten years we'll need only 43,700 more computer programmers, while at the same time we'll need 110,000 computer support specialists, 96,000 Network and Computer Systems Administrators, 65,000 Information Security Analysts, and 492,000 Administrative Assistants. You can't build a vocational program on coding. You can make everyone learn a little of it; you can encourage a few to major in it; but where most will make their living is as users and administrators of the technology, not as coders.
Recently a teacher in New York City proposed to build a new high school where everyone would learn to code well enough that they could walk directly from the graduation ceremony to a desk at Google. He got lots of support for this idea from the code.org types, but was thwarted by the realities of what schools need to be.
Coding is a good thing to learn, and should be included in the curriculum. But coding alone cannot replace all the other skills that schools need to teach. Knowing how to code will not help much in most of the jobs of the future. So it makes little sense to teach coding at the expense of other skills and knowledge needed by our future workforce. On the other hand, knowing how to code is a powerful thing. And for a few, it's a ticket to a job. But not the centerpiece of a school.