Sign In

Communications of the ACM

Table of Contents

Why Doesn't ACM Have a SIG For Theoretical Computer Science?

In 1992, Yuri Gurevich wrote, "It is amazing, however, how different computer science is, especially theoretical computer science, in Europe and the U.S." How did such a sharp division arise between TCS in North America …


I am on a brief holiday in the U.K. visiting stately homes and manor houses in Cotswolds. There is so much history and drama hidden in some of the mechanical designs in these ancient buildings
DEPARTMENT: Letters to the Editor

Not So Easy to Forget

Meg Leta Jones's "Forgetting Made (Too) Easy" (June 2015) raised an important concern about the Court of Justice of the European Union's Google Spain judgment. Google "is without any guidance as to which interests should trump …

Plain Talk on Computing Education

Mark Guzdial considers how the variety of learning outcomes and definitions impacts the teaching of computer science.

Teaching Computers with Illusions

Exploring the ways human vision can be fooled is helping developers of machine vision.

Touching the Virtual

Feeling the way across new frontiers at the interface of people and machines.

The Moral Challenges of Driverless Cars

Autonomous vehicles will need to decide on a course of action when presented with multiple less-than-ideal outcomes.
COLUMN: Privacy and security

Security For Mobile and Cloud Frontiers in Healthcare

Designers and developers of healthcare information technologies must address preexisting security vulnerabilities and undiagnosed future threats.
COLUMN: Economic and business dimensions

Permissionless Innovation

Seeking a better approach to pharmaceutical research and development.
COLUMN: Kode Vicious

Hickory Dickory Doc

On null encryption and automated documentation.
COLUMN: Education

Understanding the U.S. Domestic Computer Science Ph.D. Pipeline

Two studies provide insights into how to increase the number of domestic doctoral students in U.S. computer science programs.
COLUMN: Viewpoint

Learning Through Computational Creativity

Improving learning and achievement in introductory computer science by incorporating creative thinking into the curriculum.
SECTION: Practice

Testing Web Applications with State Objects

Use states to drive your tests.

From the EDVAC to WEBVACs

Cloud computing for computer scientists.
SECTION: Contributed articles

Programming the Quantum Future

The Quipper language offers a unified general-purpose programming framework for quantum computation.

Surveillance and Falsification Implications For Open Source Intelligence Investigations

Legitimacy of surveillance is crucial to safeguarding validity of OSINT data as a tool for law-enforcement agencies.

Challenges Deploying Complex Technologies in a Traditional Organization

The National Palace Museum in Taiwan had to partner with experienced cloud providers to deliver television-quality exhibits.
SECTION: Review articles

Network Science, Web Science, and Internet Science

Exploring three interdisciplinary areas and the extent to which they overlap. Are they all part of the same larger domain?
SECTION: Research highlights

Technical Perspective: Corralling Crowd Power

"Soylent: A Word Processor with a Crowd Inside," introduces an exciting vision of using crowd workers to power an interactive system — here, a word processor — in accomplishing complex cognitive tasks.

Soylent: A Word Processor with a Crowd Inside

This paper introduces architectural and interaction patterns for integrating crowdsourced human contributions directly into user interfaces.
COLUMN: Last byte

Upstart Puzzles: Brighten Up

You are given two bags, each containing some number NumPerBag of flares. You know there are NumBad flares in one of the bags but not which bag. The other bag has all good flares. Each time you test a flare, you use it up.