Sign In

Communications of the ACM


The Call to Teach Computing to Everyone

View as: Print Mobile App Share:
Georgia Institute of Technology Professor Mark Guzdial

 Wow--the interest in teaching computer science to everyone has really become visible in the last month!  It's great to see that people are realizing what we've been saying for years: Computer science is key to understanding the 21st century world.

Here's a brief list of some of the major pieces that I noticed, with some of my favorite quotes from each.

March 27, New York Times, "A Surge in Learning the Language of the Internet":

The market for night classes and online instruction in programming and Web construction, as well as foriPhone apps that teach, is booming. Those jumping on board say they are preparing for a future in which the Internet is the foundation for entertainment, education and nearly everything else. Knowing how the digital pieces fit together, they say, will be crucial to ensuring that they are not left in the dark ages.

March 31, The Guardian had a whole section on computing education for everyone, with titles like "Why all our kids should be taught how to code."  My favorite piece in this set was John Naughton's "A manifesto for teaching computer science in the 21st century" who made this wonderful point -- it's not about making everyone into a software developer:

We believe every child should have the opportunity to learn computer science, from primary school up to and including further education. We teach elementary physics to every child, not primarily to train physicists but because each of them lives in a world governed by physical systems. In the same way, every child should learn some computer science from an early age because they live in a world in which computation is ubiquitous. A crucial minority will go on to become the engineers and entrepreneurs who drive the digital economy, so there is a complementary economic motivation for transforming the curriculum.

March 31, New York Times, "Computer Science for the Rest of Us."

Many professors of computer science say college graduates in every major should understand software fundamentals. They don’t argue that everyone needs to be a skilled programmer. Rather, they seek to teach "computational thinking" — the general concepts programming languages employ.

April 1, Forbes: "Computer Science is Essential for Everyone" follows up on the NYTimes piece:

The New York Times today has a piece on by Randall Stross titled Computer Science for the rest of us discussing the growing movement to have computer science courses that build’s on Jeannete Wing’s paper on computational thinking. I would argue that it’s not computer science for the "rest of us" but for everyone. From basic science to the humanities, understanding essentials of computer science has become more important to student’s understanding of the world than the calculus is. In fact, while I think calculus certainly has value from the hard to social sciences, its more essential that students have an understanding of computer science.

April 3, US News and World Report: "Computer Science transitions from Elective to Requirement."

Some universities include computer science among options to satisfy science or math requirements. At UC—Irvine, students choose three courses from computer science, public health, economics, physics, biology, chemistry, earth science, philosophy, or international studies to meet their general education requirement in science and technology. But offering students a taste of computer science is not enough, Bowker says.

"Getting a flavor of science is great," he says. "But computer science is not a flavor; it's a staple."

 April 6, The Chronicle: "How Not to Require Computer Science for All Students."

The reason I bring this up is that I’m hearing some say, in response to the articles about the CS requirement, that we should require a course in office applications and basic digital literacy for those who come in with lesser technological skill, and that can be their CS course. I think that’s looking at the problem from the wrong end. It seems that we might want a global CS requirement because in this era, the quantity and quality of digital skills that we should expect from students has changed. Office suite proficiency is necessary but no longer sufficient: We want students to be able to program (where "programming" is broadly defined), to articulate how computers and the internet work, and so on. The question ought to be, where do we want students to end up with respect to CS, not where are they now.   



computer literacy, applications like the internet and CS as a structural science are three kinds of knowledge. The latter is by far the most underestimated.


There is a big gap between what needs to be learned to become aware of the computational perspective for solving a problem and the time students have available outside other subjects, namely languages, traditional math(analytical vs digital), physical sciences, sports, recreation, etc. We are hitting a scalability mismatch between on one side the present educational system structure and operation and the individual's allocation of his attention, and on the other side what present(and future) computation capabilities and un-realized potential has to offer.

Displaying all 2 comments