Sign In

Communications of the ACM

Table of Contents

DEPARTMENT: Editor's letter

Building the Future Communications of the ACM

The Communications of the ACM team is dynamic; a collection of passionate leaders, making change and creating the future CACM through the actions, initiatives, and goals that we are pursuing today. In that vein, here are some …

In Praise of Under-Specification?

It is interesting to contemplate whether the notion of under-specification that induces flexibility and anticipates new but unknown developments can be codified in a concrete way beyond the purely conceptual.
DEPARTMENT: Letters to the editor

Embed Ethical Guidelines in Autonomous Weapons

As a combat veteran and more recently an industry technologist and university professor, I have observed with concern the increasing automation — and dehumanization — of warfare, a trend discussed in the "Potential and Peril" …

How Adults Ages 60+ Are Learning to Code

Philip Guo discusses his project studying older adults that have chosen to learn computer programming.

Hacker-Proof Coding

Software verification helps find the faults, preventing hacks.

Why Virtual Reality Will Transform a Workplace Near You

A clutch of companies are changing how work gets done---by using virtual reality and augmented reality technologies.

AI in Contact Centers

Artificial intelligence technologies are being deployed to improve the customer service experience.

Charles P. 'Chuck' Thacker: 1943-2017

Microsoft researcher Charles P. Thacker, awarded the 2009 ACM A.M. Turing Award, died Monday, June 12, at the age of 74, after a brief illness.
COLUMN: Historical reflections

Prophets, Seers, and Pioneers

Reflections on historical prognostications for the future.
COLUMN: Education

Is the U.S. Education System Ready For CS For All?

Insights from a recent Google-Gallup national research study seeking to better understand the context of K--12 CS education.
COLUMN: Kode Vicious

The Observer Effect

Finding the balance between zero and maximum.
COLUMN: Viewpoint

The Natural Science of Computing

As unconventional computing comes of age, we believe a revolution is needed in our view of computer science.
SECTION: Practice

Now That We Can Write Simultaneously, How Do We Use That to Our Advantage?

Word processors now make it possible for many authors to work on the same document concurrently. But what can they actually do?

Small-Data Computing: Correct Calculator Arithmetic

Rounding errors are usually avoidable, and sometimes we can afford to avoid them.
SECTION: Contributed articles

Turing's Pre-War Analog Computers: The Fatherhood of the Modern Computer Revisited

Turing's machines of 1936 were a purely mathematical notion, not an exploration of possible blueprints for physical calculators.

Data Science: Challenges and Directions

While it may not be possible to build a data brain identical to a human, data science can still aspire to imaginative machine thinking.
SECTION: Review articles

The Science of Brute Force

Mathematics solves problems by pen and paper. CS helps us to go far beyond that.
SECTION: Research highlights

Technical Perspective: Unexpected Connections

The inherent scalability of an interface is the focus of "The Scalable Commutativity Rule" by Austin T. Clements, et al.

The Scalable Commutativity Rule: Designing Scalable Software For Multicore Processors

This paper introduces an interface-driven approach to building scalable software.

Technical Perspective: Linking Form, Function, and Fabrication

To avoid costly feedback loops between design, engineering, and fabrication, research in computer graphics has recently tried to incorporate key aspects of function and fabrication into an "intelligent" shape modeling process …

Spin-It: Optimizing Moment of Inertia For Spinnable Objects

In this article, we describe an algorithm to generate designs for spinning objects by optimizing their mass distribution.
COLUMN: Last byte

Turing's Taxi

Ride with an autonomous AI cab driver that might actually know too much about where it's going . . .