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?
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?
Search for Jobs