The US Department of Labor projects that one million jobs in computing will go unfilled by 2020. These are good jobs, jobs that would allow economic mobility and great earning potential over the course of a career. We know why these positions aren’t being filled—a lack of skilled candidates.
In response, there has been a national movement to teach computing to students in schools across the country. Many organizations, including my own company, are up for the challenge. Our country must make a commitment to teaching every child computer science. That doesn’t mean teaching watered down content and using simple coding apps but a strong curriculum that leads students to achieve real deep and broad mastery of computer science.
The light and fluffy version of computer science—which is proliferating as a superficial response to the increased need for coders in the workplace—is a phenomenon I refer to as “pop computing.” While calling all policy makers and education leaders to consider “computer science education for all” is a good thing, the coding culture promoted by Code.org and its library of movie-branded coding apps provide quick experiences of drag-and-drop code entertainment. This accessible attraction can be catchy, it may not lead to harder projects that deepen understanding.
With a million jobs on the line, an important distinction must be drawn between learning “coding tutorials” and learning “computer science.” I think of it as playing with coding apps as compared to learning to design an app using code. Building an app takes time and requires multi-dimensional learning contexts, pathways and projects. One thing is for sure, it can’t be done in an hour or two, with a few simple drags, drops and clicks.
The typical coding apps don’t get at the heart of computer science. Instead they stay at the surface, teaching what is comfortable and catchy. In that sense, they are equivalent to the songs on today’s “Top 40”—fun to listen to but offering no real insight or understanding into music literacy, meaning, or theory. Computing and computer science is the equivalent of immersing in a thicker study of music—its origins, influences, aesthetics, applications, theories, composition, techniques, variations and meanings. In other words, the actual foundations and experiences that change an individual’s mindset.
As noted by MIT’s Marvin Minsky and Alan Kay, computational innovation and literacy have much in common with music literacy. Just as would-be musicians become proficient by listening improvising and composing, and not just by playing other people’s compositions, so would-be programmers become proficient by designing prototypes and models that work for solving real problems, doing critical thinking and analysis, and creative collaboration—none of which can be accomplished in one hour of coding. In other words, just as a kid playing Guitar Hero wouldn’t be considered a musician, someone playing with coding apps isn’t exactly a coder or computer scientist.
Computer programming and computational thinking are the new foundation for our ever-increasing technological society—a society that calls for innovation, entrepreneurship, teamwork, and creative thinking. Reading, writing and arithmetic aren’t enough to succeed in today’s global innovation economy. Computer science is already redefining what it means to be literate and global citizens in the 21st century.
By promoting “pop computing” apps to kids in schools, we aren’t doing the hard thinking that defines what the subject of computing is today, and most importantly, what it can be in the future. A new approach to learning mass computing is needed to get 55 million students in 130,000 public schools to learn to master the computer languages and computing innovation practices of the future.
We are doing a disservice to kids by assuming that they can’t grasp industry-standard languages, complex computer science topics, and applications. By limiting them, we undermine their capabilities and stifle their creative and inventive potential.
To truly impact children’s cognitive development, and prepare them for future computing jobs that may not even exist yet, we must move beyond pop computing. I strongly believe that learning computing should become mandatory in all schools, and should be viewed in the same context as reading and writing. Students must be challenged and encouraged to think differently in each grade level, subject matter, and read/write various computing projects every day in their academic life. With this mindset and approach we’ll help this generation of students fill those one million jobs, all of which require so much more than dragging and clicking.