Should Schools Mandate Computer-Coding Classes?

 Aiden Crott, center, helps Daniel Hernadez with his ScratchJr iPad program while Talia Levitt, right, works with hers at the Eliot-Pearson Children's School in Medford, Mass. Researchers created the app that teaches basic computer programming to children

Aiden Crott, center, helps Daniel Hernadez with his ScratchJr iPad program while Talia Levitt, right, works with hers at the Eliot-Pearson Children's School in Medford, Mass. Researchers created the app that teaches basic computer programming to children Stephan Savoia/AP

Chicago Mayor Rahm Emanuel recently announced that computer science would be required in the city's high schools.

It's happening in Chicago. Last year, Mayor Rahm Emanuel announced that Chicago Public Schools will include an introductory computer-science class in every high school. These classes are supposed to be in place by the end of next year. Over the next three years, the district also is expected to implement a K-8 computer-science pathway for younger students. Earlier this month, Emanuel told techies at the Internet World of Things Forum that Chicago's high school students will soon be required to take a computer class in order to graduate.

It's also happening in Los Angeles, where school officials have rolled out a similar three-year program to expand computer science in public high schools. As it turns out, these two cities are working from the same playbook advocated by a nonprofit organization Code.org, bankrolled by tech giants like Microsoft and Google. In December, Code.org will launch a campaign for people of all walks of life, but particularly young people, to try its "hour of code" tutorials.

There are a lot of good reasons for treating computer science as a core subject in high schools. Computers are everywhere. Not understanding the basics of how they work is like not knowing how to change a tire. (Confession: I don't know how to change a tire.)

Knowledge of computers also makes a person attractive in the job market. The average starting salary for a college graduate with a four-year degree in computer science is about $62,000,according to the National Association of Colleges and Employers. A graduate with a humanities degree earns an average of $38,000. (Those figures also may be inflated because they don't take into account the graduates who are unemployed or underemployed.)

Techies believe that it's pure common sense to incorporate the language of computers into schools, if only to allow students to keep up with their industry. They say it's the tech economy, after all, that is changing how the entire world behaves. That's a compelling argument, but it misses a few key questions.

First, are students learning basic computer coding the way that young ladies at secretarial schools used to learn how to type? If so, teachers are missing a huge opportunity. Learning computer code as a motor skill like typing, without any thought to the content of the digital action that is being coded, is a lot less valuable than examining how such a code interacts with the physical world. A comprehensive perspective would be the ideal, but it's a tall order. Even more challenging is allowing students to explore new uses for computers.

Second, what do the students think they are getting from these courses? Do they expect to go to Silicon Valley and find a job? Not everyone wants to grow up to be a computer programmer, which means that in Chicago, a sizable chunk of students who will be required to learn computer code may also need to understand why they should care. Do teachers have an answer?

Third, will students be able to get the full benefit of a computer-science course if they aren't already up to speed on other core subjects like math and physics?

This last question has cropped up in the United Kingdom, where there is skepticism about whether computer coding is in fact as important as reading, writing, and math. A British teacher recently told attendees at the Battle of Ideas festival that computer science is really a combination of math and physics, along with basic programming. Students need to be adept in all those subjects before you can even start to talk about the more theoretical stuff. Teaching "about" computer programming is a waste of time, he argued.

It's also worth noting that even a college degree in computer science isn't necessarily a ticket to affluence, particularly if you don't live near a major research triangle. New research from College Measures shows that in Tennessee, there is only one job opening for every three graduates with a computer-science degree. Last year, the OECD found that the unemployment rate for computer-science graduates in the United States was fairly low, at 5.3 percent, but it was also twice as high as the unemployment rate for graduates with teaching degrees, at 2.4 percent. (Granted, computer-science majors also make about twice as much as teachers, but that's a topic for another blog.)

In short, knowing about computers is probably a good idea, but it won't solve other basic problems like training more engineers or encouraging more entrepreneurship in technology. And the potential for it to be another throw-away course is definitely there. It was once a joke among computer nerds that as soon as they were certified in a particular coding language, it would become obsolete. Now, certifications matter less and a lot of those nerds are adept at making it up as they go along. That's a great skill, but it's difficult to teach and even more difficult to incorporate into a widespread curriculum.