Code.org, founded by brothers and serial entrepreneurs Ali and Hadi Partovi, is dedicated to improving the state of computer science education in the United States. The bottom line is that we're nowhere close to being able to meet the demand for programmers in the coming years. Check out this graphic from Code.org:
These statistics are actually pretty ridiculous. We focus on STEM (science, technology, engineering, and mathematics) in many of our conversations, but actual programming rarely enters the picture. We give students iPads and various devices, and promote 1:1 to meet the "technology" component, but programming itself is a novelty for most schools in K12. We know that college grads with computer science degrees are going to get good jobs, but we don't let students explore CS meaningfully in high school so that they have an interest in pursuing a related degree in college. And those of us who live, eat, and breathe business and technology know that applied science, engineering, and mathematics all rely on programming and the algorithmic thought it teaches, but the College Board even dropped its second-level "AB" computer science AP test five years ago due to lack of interest.
Code.org has attracted interest from some of the biggest names in technology and politics. Mark Zuckerberg, as quoted on Code.org, perhaps sums it up best from an employment perspective:
Our policy at Facebook is literally to hire as many talented engineers as we can find. There just aren't enough people who are trained and have these skills today.
From an educational perspective, Bill Gates hits the nail on the head (also speaking in support of Code.org and its efforts):
Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.
In fact, the high-profile supporters of Code.org range from Marc Andreessen to Max Levchin (co-founder of PayPal). Their message comes together in a video released today, produced by Lesley Chilcott of An Inconvenient Truth and Waiting for Superman fame. You can watch the full video on Code.org, but here's a teaser:
The take-home message is that we need to act now on a problem that, perhaps more than any other, impacts our ability to be competitive in the 21st century. For all of our standardized tests and talk about STEM, teaching programming (which can be an ideal catalyst for addressing every part of STEM and can be taught across all of our other curricula as well) is a novelty and an afterthought.
Is there a good reason why we couldn't make our standardized tests in mathematics programming projects with rubrics and requirements that require students to apply algebra, geometry, number sense, and every other standard in the Common Core? The answer is "of course not", and a test like this would be infinitely more useful in evaluating master than the current nonsense that only manages to evaluate how well our students take tests.
Is there a good reason that we shouldn't accept programming courses for language credit? Or math credits? Or with a bit of creativity, health, English, or history credits? Here's a course description for a United States history course that would work quite nicely (and be an incredibly fun class to take and teach):
In this course, US101, you will learn the events that led to the US Civil War, beginning with colonization, moving through the development of industry and agriculture on the East Coast, and examining the effects of westward expansion and the idea of manifest destiny. In addition to readings, in-class lectures, and original research, you will complete the following three projects in the co-required computer science lab course, US101CS:
Model population growth and decline using Maple in the first 50 years of colonization, choosing to examine New England, the Mid-Atlantic, or the Southern Colonies
Create an interactive iPad app that teaches elementary school students about the development of agriculture in the South that perpetuated the perceived need for slaves.
I'm not a history teacher. I just made this up. The point is that a concerted effort on the part of teachers and curriculum stakeholders could bring us incredibly engaging curriculum that takes a 21st century approach to learning that is appropriate and adaptable for all students. It isn't rocket science, and it's barely computer science. Watch and share the video on Code.org and speak out on the really fundamental shift we need to make STEM more about the real world and less about paying lip service to teaching 21st century skills.