Sign In

Communications of the ACM

Table of Contents

ACM China Council

The goal of ACM China Council is threefold: to increase the number of high-quality ACM activities, to raise ACM's visibility, and to contribute to advancing computing as a science and profession. We can report significant progress …
DEPARTMENT: Letters to the editor

The Beauty of Simplicity

I was disappointed by Robert Green's and Henry Ledgard's emphasis in "Coding Guidelines: Finding the Art in the Science" (Dec. 2011) on "alignment, naming, use of white space, use of context, syntax highlighting, and IDE choice …

The Power of Computing; Design Guidelines in CS Education

Daniel Reed writes about how computing systems increase human intellect and abilities. Mark Guzdial discusses the need to avoid polarized and extreme positions in education and the trend toward design-based research.

Preserving Digital Data

Scientific data is expanding at an unprecedented rate. While new tools are helping preserve this data, funding must be increased and policy coordination needs improvement.

Talking to Machines

Voice recognition programs like Siri are now capable of understanding spoken commands, recognizing a conversation's context, and answering questions in a personable manner.

Open For Business

Should academic articles be available for free on the Web?
COLUMN: Technology strategy and management

Can Services and Platform Thinking Help the U.S. Postal Service?

How the U.S. Postal Service might improve the efficiency of its delivery platform.
COLUMN: Emerging markets

Information Technology and Gross National Happiness

Connecting digital technologies and happiness.
COLUMN: Kode Vicious

The Network Protocol Battle

A tale of hubris and zealotry.
COLUMN: Broadening participation

Improving Gender Composition in Computing

Combining academic and industry representation, the NCWIT Pacesetters program works to increase the participation of girls and women in computing.
COLUMN: Viewpoint

Reading CS Classics

Revisiting required reading.

Is Human Mobility Tracking a Good Idea?

Considering the trade-offs associated with human mobility tracking.
SECTION: Practice

Why LINQ Matters: Cloud Composability Guaranteed

The benefits of composability are becoming clear in software engineering.

Interactive Dynamics For Visual Analysis

A taxonomy of tools that support the fluent and flexible use of visualizations.

CPU DB: Recording Microprocessor History

With the open CPU DB database, you can mine microprocessor trends over the past 40 years.
SECTION: Contributed articles

Sample Size in Usability Studies

Magic numbers are strictly hocus-pocus, so usability studies must test many more subjects than is usually assumed.

What Agile Teams Think of Agile Principles

Even after almost a dozen years, they still deliver solid guidance for software development teams and their projects.
SECTION: Review articles

Probabilistic Topic Models

Surveying a suite of algorithms that offer a solution to managing large document archives.

Putting the 'Smarts' Into the Smart Grid: A Grand Challenge For Artificial Intelligence

A research agenda for making the smart grid a reality.
SECTION: Research highlights

Technical Perspective: Building Robust Dynamical Simulation Systems

Computational power has been widely used to predict the behavior of dynamical systems using computer simulations, which are often used as an adjunct to or substitute for a dynamical system when a simple closed form analytic …

Asynchronous Contact Mechanics

Physicists have long observed physical phenomena and developed mathematical models to describe them. The advent of computers has allowed us to implement these models as software in a computational environment, launching the …

Technical Perspective: Who Knows?: Searching For Expertise on the Social Web

It is difficult to remember what people had to do to find the answer to a question before the Web. One option might be to call a friend who might know the answer. This instinct to call someone is baked into the DNA of Aardvark …

Searching the Village: Models and Methods For Social Search

With Aardvark, a social search engine, users ask a question, either by IM, e-mail, Web input, text message, or voice. Aardvark then routes the question to the person in the user's extended social network most likely to be able …
COLUMN: Last byte

Future Tense: The Deadline Paradox

Prepare for the past ahead of time.