Sign In

Communications of the ACM

From the president

Computer Science Education – Revisited

Google Inc. Vice President and Chief Internet Evangelist Vinton G. Cerf

ACM members span a remarkable period in the history of computing. We can point to Kelly Gotlieb, chair or co-chair of the ACM Awards committee for over 20 years, who joined ACM in 1949 when it was two years old! Next to Kelly, I feel like a newbie, having joined in 1967. And there are the most recent members, who joined us just this year, many as a result of our international initiatives.

We have a wide range of stories of the academic and professional paths that have led us to become practicing members of ACM and our profession. Similarly, our educational experiences are equally varied. Many of our members received degrees in disciplines other than computer science simply because their academic years preceded the creation of computer science departments. Indeed, Purdue University recently celebrated the 50th anniversary of its computer science department—the oldest CS department in the U.S.

At this stage of computing's evolution, it seems appropriate to reflect on what we should learn about computing and how we can or should learn it. I prefer to say "learn" rather than "teach" simply because the important metric is what one can learn about the field. Many of our most productive colleagues joined the computer science or computing field from other disciplines. Physics is often a precursor to a career in computing. Large-scale simulations, computational biology, computational linguistics, and other computational analogues along with "big data" processing occupy a good deal of the attention of today's software and hardware practitioners. Subtle and deep analyses drawing on Bayesian reasoning also occupy the thoughts of many of our colleagues.

But what about people who have no intention of entering the field? Shouldn't they have some idea of how programming works? How operating systems work? How networks and their layered protocols work?

Among the initiatives that ACM has been pursuing is to make computer science acceptable as a core science along with mathematics, physics, biology, and chemistry. This is especially critical in secondary schools where, with few exceptions, computing classes tend to be optional and not a substitute for any other discipline. In many advanced programs, it is a requirement to have a certain number of credits in science, for example. It is ACM's position that computer science should have equal standing. Moreover, the curriculum should include some serious exposure, inter alia, to programming, systems, languages, and computer architecture. The idea is not necessarily to turn students into professional computer engineers and scientists, but to expose them to the richness of computer science and to help them appreciate the potential nascent in computers and programmable systems.

In many advanced programs, it is a requirement to have a certain number of credits in science. It is ACM's position that computer science should have equal standing.

A detailed report on this topic can be found at I strongly urge you to read this report and then to explore ACM's website page on education:

Reforming K–12 education to incorporate serious computer science seems vital to producing an informed public that has a deeper appreciation for the power of computing than video games and social networking. There are, no doubt, countless opportunities for computing professionals to engage in this effort, by lending their support and time to the effort to reform K–12 curriculum content and to make visible to young people the excitement of discovering what computing can accomplish. The discipline of writing and debugging software, of creating simulations or interactive applications has the potential to draw many into the profession, or at least to provide even more with a sense of the core role computing is playing and will play in the decades ahead.

As the Internet of Things becomes reality and software appears in every appliance, building, and vehicle, we have a societal interest in promoting understanding of and interest in our discipline.


©2013 ACM  0001-0782/13/08

Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and full citation on the first page. Copyright for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or fee. Request permission to publish from or fax (212) 869-0481.

The Digital Library is published by the Association for Computing Machinery. Copyright © 2013 ACM, Inc.


CACM Administrator

The following letter was published in the Letters to the Editor in the November 2013 CACM (
--CACM Administrator

I am somewhat disturbed by ACM's effort to increase the amount of computer science covered in a general education, as laid out in Vinton G. Cerf's editorial "Computer Science Education–Revisited" (Aug. 2013). Not every student needs to train as a computer scientist. Few will ever enter the field, though all should have the opportunity. However, forcing them to learn some amount of computer science would be a mistake. They already have plenty to cover.

Computer science ultimately comes down to the various areas of mathematics, though many non-computer scientists use mathematics as well. Engineers need good command of calculus. Cryptographers need good command of discrete mathematics. Anyone who balances a checkbook must know addition and subtraction.

I would be more comfortable if ACM advocated using its resources and the Web to share its knowledge, offer online courses, and provide a social media presence so motivated students of computer science could gather and share their experiences.

Perhaps ACM should aim to establish a "Future Computer Scientists" program, coaxed, not forced.

Wynn A. Rostek
Titusville, FL



Perhaps I should have been clearer. Computer science deserves equal status with mathematics, chemistry, biology, and physics in terms of "science curriculum." For most students who intend to go on to college, some number of science courses is required. To the same degree other science classes are required, computer science should count as one of those that can fulfill such a requirement. Course content should include programming, not simply use of computer-based applications.

Vinton G. Cerf
ACM President

Displaying 1 comment