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...
it's good to teach kids science...
Not everyone should or should want to become "programming literate", but it's not supposed to be like learning how to read and write. There is more to learning to code than coding itself. There is plenty of science at school that people never use in their adult life, but it's useful to have some understanding of how the world works, how others work, and each subject bring a new way of thinking - a different way of thinking is brought with coding and that's useful to everyone.
I disagree. Today, nearly all kids are given the opportunity to participate in school sport. Not all will go on to be famous athletes, but most will benefit from the experience. Personally, I was an introvert and lousy at sports, but the school sports program instilled in me the importance of physical fitness and a love for nature and the outdoors. The program also taught me about personal limitations, strengths and weaknesses: I was smart, but certainly not good at some things! Didn't feel like it at the time, but that was a healthy too, I think.
If it acquires resources on instantiation like a duck, then its a shared_ptr<Duck>
Programming is a trade. It is specific to a language and OS. I learned Integer Basic on Apple ][ Plus and that did me no good because when I got to college, the new thing was procedural programming. And then when I graduated, it became OOP. Or something - I cannot keep up with the buzzwords these days.
My point is that programming shouldn't be taught at the K-12 level. They should learn the basics - like Natural sciences. And considering the pathetic knowledge of most Americans about science, we should be concentrating there instead of creating cheap coders for Facebook and other companies who want cheap labor.
Education is about learning to learn and critical thinking not a trade like programming - and no, programming does NOT teach critical thinking or even logical thinking aside from the basic truth table. Philosophy is much more valuable than any computer science course in the grand scheme of things. And so is art and music. Programming is like auto mechanics - valuable, but not part of a well education.
[Not that I'm actually that guy, but...]
I want your children to grow up to be automobile mechanics so that repairs are dirt cheap and mechanics become entirely interchangable cogs.
I want my children to grow up to be upper level executives at Firestone, Midas, Monroe, NAPA, etc.
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?