Programming: The New Math?
There has been a battle brewing in the blogosphere and it is time for me to weigh in. The battle line: should everyone learn to program? Even the mayor of New York, Mike Bloomberg, entered the ring by Tweeting that his New Year's resolution of 2012 was to learn how to code. Jeff Atwood jumped in back in May with the controversial post, "Please Don't Learn to Code" which sharply criticized the idea that everyone show code; although in his defense, he posted a slightly toned down second blog on the topic after it got picked up by many bloggers (e.g. here, here) including some major news sources (here, here).
So what's behind all the fuss?
I think an article in my local paper, the Minneapolis Star Tribune, titled "Fostering Tech Talent" sheds some light on it. In that article, it references statistics that suggest we will need 150,000 computing jobs by 2020. Last year, fewer than 14,000 American students received undergraduate degrees in computer science. That's a huge problem! The magazine Fast Company has an article "Helping to Solve the Education Crisis", which sites the National Science Foundation who claims that 80% of the jobs created in the next decade will require some mastery of technology, math, and science. Are our schools preparing the next generation for this? I certainly agree with those opinions in the Jeff Atwood's camp that coding is not for everyone and the principles and doctrines of programming should not be diluted by giving a degree to anyone that can spell OOP.
But on the other hand, I do think it is important that every student get exposed to programming early on. Isn't exposing our kids to many different skills a key goal of education? My son is in high school and to me he is not getting exposed to programming in any significant way. Calculus... oh sure, many levels. War of 1812... plenty of it. Object-oriented programming... eh, well... not so much. Perhaps what this online controversy exposes is the need for the education system to re-evaluate what skills are needed for our future workers.
With computers becoming more and more a part of every child's world shouldn't it be required that they at least get some idea of how the magic works? If we are to bridge the gap between what the 2020 workforce will need for skills and what our schools are generating, I think we need to take a hard look at the current curriculum and ask ourselves, are we doing justice to our kids. And kudos for Microsoft, Kevin Wang and the TEALS program for trying to make a difference in the school systems of Seattle!