Should All Majors, Not Just Computer Science Majors, Learn to Code?

Lots of people are making the New Year's resolution to learn to code. Is it time we make programming a requirement for college graduation for all majors, not just CS students?

January 10, 2012

Thanks to a rather brilliant marketing campaign by Codecademy, 2012 might just be the year that lots of folks learn to code. The startup, which offers a web-based tool to walk people through some interactive JavaScript lessons, created Code Year, a website that allows people to make learning to code their New Year's resolution and to sign up for weekly emails with tips and lessons to help them on their way.

I'm going to sidestep discussion here of whether or not this New Year's resolution will actually be attainable with Codecademy lessons alone. (I will, however, point you to a screed I wrote elsewhere about the startup and the hype it's received in the tech press.)

And I don't want to speculate about the potential for STEM careers (now and in the future); nor do I want to argue about the related need to funnel more students into STEM majors. That's an argument you'll commonly hear: learn to program, get a job (as a programmer).

But I will posit that all students should learn programming, whether they plan to become programmers or not. Many universities already require students take composition in order to graduate. Perhaps it's time for programming -- "the new literacy" -- to become a requirement too?

I don't mean that every student needs to learn C++ or Python or Perl or Java or Ruby. But I do think everyone needs to know how the Web works -- how search engines operate, for example, and what's "server side" and what's "client side" and why the difference matters. Everyone needs to know some HTML (a mark-up, not a programming, language I realize).  And with the move towards the fifth revision of the HTML standard (namely HTML5), I'd add CSS and JavaScript to the list of necessary skills as well.

My dad often jokes that his car has become so highly computerized that if something goes wrong, he doesn't even bother to open up the hood to see what's happened. He simply takes the car to the mechanic, who plugs it into another computer to diagnose the problem.  I do like to remind my dad however that he's still smart enough to identify the difference between an empty fuel tank and a more serious engine problem. So while true, he might have no clue how to fix his car, he does have some general working sense of how cars work.  No fuel.  No go.  A little knowledge of the combustion engine will actually get you a fairly long way.

Technologist Douglas Rushkoff has argued that it's "program or be programmed." In a high tech world, it's not the combustion engine that (pardon the pun) drives our future.  And according to Rushkoff, if you don't have at least a basic understanding of the technological building blocks, you are set to be an uninformed citizen, uninformed consumer, and unskilled worker -- three things incongruous with a university educated person.  No matter what you major in or what job you eventually take, you'll use a computer at work.  You'll use a computer at home.  Almost all your communications will be digital.  

So just as we expect college graduates to be critical thinkers, decent essay writers, and moderately well-read adults, it does seem as though we should expect them to be able to "hack" as well. We can't just hand off all coding to IT departments. Can we?

Be the first to know.
Get our free daily newsletter.


Back to Top