Jeff Atwood NY Daily News Op-Ed: Learning To Code Is Overrated
theodp writes: Responding to New York City's much-ballyhooed $81 million initiative to require all of the city's public schools to offer CS to all students, Coding Horror's Jeff Atwood has penned a guest column for the NY Daily News which cautions that learning to code isn't all it's cracked up to be. Atwood begins, "Mayor de Blasio is winning widespread praise for his recent promise that, within 10 years, all of New York City's public schoolchildren will take computer science classes. But as a career programmer who founded two successful software startups, I am deeply skeptical about teaching all kids to code." Why? "If someone tells you 'coding is the new literacy' because 'computers are everywhere today,' ask them how fuel injection works. By teaching low-level coding, I worry that we are effectively teaching our children the art of automobile repair. A valuable skill — but if automobile manufacturers and engineers are doing their jobs correctly, one that shouldn't be much concern for average people, who happily use their cars as tools to get things done without ever needing to worry about rebuilding the transmission or even change the oil." Atwood adds, "There's nothing wrong with basic exposure to computer science. But it should not come at the expense of fundamental skills such as reading, writing and mathematics...I've known so many programmers who would have been much more successful in their careers if they had only been better writers, better critical thinkers, better back-of-the-envelope estimators, better communicators. And aside from success in careers, we have to ask the broader question: What kinds of people do we want children to grow up to be?"
He's right that we need rounded people as programmers - but we are more likely to get them if the possibility of being a programmer is accessible to a wider range of people than at present. That's the virtue of this approach; it opens the prospect of programming as a career to a wider range beyond us geeks and nerds!
On the other hand it may make us unemployable as ordinary people nick our jobs...
We all want students to be well-rounded, right?
Well why should that not include a crack at programing?
I see his point that Reading/Writing/'Rithmatic are all very important. The thing is, programing if it appeals to you, is a way to get better at all three of those things - because you are learning aspects of all three in an applied, not theoretical, way.
Coding helps organize your thoughts in a way not dissimilar to how you might want to arrange thoughts for writing. Coding ABSOLUTLEY helps reading because my God do you use Google/Stack Overflow.
Arithmetic is just kind under there sneakily embedding itself into all your code, especially if you do any GUI and animation stuff at all.
So I say it makes for a great experiment to expose all kids to programming, and see what happens as a result. It certainly couldn't make the schools any worse than they are to introduce a subject that demands logical thinking to succeed.
If it doesn't work well for the kid, good to find that out now and rule it out as a possible interest early. But it also may get some kinds started much earlier than they would otherwise.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Indeed. Teaching basic coding (and let's roll in markup languages while we're at it) isn't like teaching someone to become an expert auto mechanic; it's like teaching them to change a flat tire, check their oil, jumpstart a car, etc. Interacting with computers is something that virtually everyone has to do these days. The ability to be able to write a simple script or even just have a basic understanding of *what* your computer is doing is not the same as having a 4-year CS degree. I think it would be good if kids were taught to change a flat tire and check their oil. And I think it's good that they learn the fundamentals of programming. Just like it's good for them to learn the fundamentals of mathematics, and chemistry, and biology, and so on down the line.
Your science analogy is spot on, but in more ways than you mention. It's not at all rare these days for mathematicians and scientists to have to do computer programming as part of their work. A mathematician is much more likely to need to know what a for loop is than what a scalene triangle is. A physicist is much more likely to need to know what a function call is than which element comes after cerium on the periodic table.
Crowd: What do we want? Fry: Fry's dog! Crowd: When do we want it? Fry: Fry's dog!
We don't need coders -- We need people who know how computers work.
We need classes to teach people what the difference is between the OSes. We need people to know what https is. We need people who know why to VPN, what security is, and how to protect their info on the internet. We need anti-phishing anti-419 courses. Indeed, teaching C/S to the English teacher is wasted, but perhaps they knowing how the internet works is not lost?