Sign In

Communications of the ACM

Table of Contents

Computing For Humans

Leibniz conceived of a universal mathematical language in which all human knowledge can be expressed, and calculational rules carried out by machines to derive all logical relationships. His definition of computing captures …
DEPARTMENT: Letters to the Editor

To Boost Presentation Quality, Ask Questions

Moshe Y. Vardi's "Are You Talking to Me?" (Sept. 2011) said conference attendees are sometimes unable to follow speakers' presentations and eventually give up trying. How about an experimental conference where session chairs …

Conferences and Video Lectures; Scientific Educational Games

John Langford analyzes whether conferences should offer video lectures. Judy Robertson discusses the merits of the Game Design Through Mentoring and Collaboration project.

Nominees For Elections and Report of the ACM Nominating Committee

In accordance with the Constitution and Bylaws of the ACM, the Nominating Committee hereby submits the following slate of nominees for ACM's officers.

The Rise of Molecular Machines

The field of molecular computing is achieving new levels of control over biochemical processes and fostering sophisticated connections between computer science and the biological sciences.

Brave NUI World

Natural user interface developments, such as Microsoft's Kinect, may indicate the beginning of the end for the mouse.

Activism Vs. Slacktivism

Today's activists are highly plugged into social media, mobile apps, and other digital tools. But does this make a difference where it matters most?

CSEdWeek Takes Hold

Groups in more than 130 countries will participate in Computer Science Education Week this year.

Dennis Ritchie, 1941-2011

 Colleagues recall the creator of C and codeveloper Unix, an unassuming but brilliant man who enjoyed playing practical jokes on his coworkers.

The Most Ancient Marketing

Before Apple, Steve Jobs famously went to India with a college friend. While I never had occasion to talk to Jobs about it, I have a theory I wish I had a chance to try out on him. The theory is that Jobs saw gurus in India …

Life, Death, and the iPad: Cultural Symbols and Steve Jobs

In the days that followed Steve Jobs' death, he was frequently compared to Henry Ford and Thomas Edison. But Jobs was creating experiences, not technologies or products. He, and Apple, were creating a new symbolic register in …
COLUMN: Technology strategy and management

The Legacy of Steve Jobs

Reflecting on the career and contributions of the Apple cofounder.
COLUMN: Emerging markets

On Turbocharged, Heat-Seeking, Robotic Fishing Poles

There is a well-known proverb, "If you give someone a fish, they'll eat for a day; if you teach them how to fish, they'll eat for a lifetime." The point is obvious. It also packs insights that are relevant for the technologist …
COLUMN: Kode Vicious

Debugging on Live Systems

It is more of a social than a technical problem.
COLUMN: Broadening participation

Data Trends on Minorities and People with Disabilities in Computing

Seeking a comprehensive view of minority student demographics to determine what programs and policies are needed to promote diversity.
COLUMN: The profession of IT

The Grounding Practice

The skill of making and recognizing grounded claims is essential for professional practice. Getting objective data to support your conclusions is not enough.
COLUMN: Viewpoint

Doctoral Program Rankings For U.S. Computing Programs: The National Research Council Strikes Out

A proposal for improving doctoral program ranking strategy.
SECTION: Practice

Postmortem Debugging in Dynamic Environments

Many modern dynamic languages lack tools for understanding complex failures.

How Will Astronomy Archives Survive the Data Tsunami?

Astronomers are collecting more data than ever. What practices can keep them ahead of the flood?

Coding Guidelines: Finding the Art in the Science

Computer science is both a science and an art. Yet, when it comes time for implementation, there is a combination of artistic flare, nuanced style, and technical prowess that separates good code from great code.
SECTION: Contributed articles

Visual Crowd Surveillance Through a Hydrodynamics Lens

People in high-density crowds appear to move with the flow of the crowd, like particles in a liquid.

License Risks from Ad Hoc Reuse of Code from the Internet

Software developers' reuse of code from the Internet bears legal and economic risks for their employers.

Formal Analysis of MPI-Based Parallel Programs

The goal is reliable parallel simulations, helping scientists understand nature, from how foams compress to how ribosomes construct proteins.
SECTION: Review articles

Answer Set Programming at a Glance

The motivation and key concepts behind answer set programming — a promising approach to declarative problem solving.
SECTION: Research highlights

Technical Perspective: Safety First!

Software misbehaves all too often. This is a truism, but also the driving force behind many computing techniques intended to increase software reliability, safety, and security, ranging from basic testing to full formal verification …

Safe to the Last Instruction: Automated Verification of a Type-Safe Operating System

High-level computer applications build on services provided by lower-level software layers. Unfortunately, today's low-level software still suffers from a steady stream of bugs, often leaving computers vulnerable to attack …

Technical Perspective: Anonymity Is Not Privacy

We live in an era of data abundance. Every aspect of our online and offline behavior is captured and analyzed. The companies holding our data face the responsibility for protecting our privacy, especially as they sell and exchange …

Wherefore Art Thou R3579X?: Anonymized Social Networks, Hidden Patterns, and Structural Steganography

In a social network, nodes correspond to people or other social entities, and edges correspond to social links between them. We describe a family of attacks such that it is possible to learn whether edges exist or not between …
COLUMN: Last byte

Puzzled: Solutions and Sources

Last month (Nov. 2011, p. 120) we posted a trio of brainteasers, including one as yet famously unsolved, concerning distances between points on the plane. Here, we offer solutions to two of them. How did you do?

Q&A: Scaling Up

M. Frans Kaashoek talks about multicore computing, security, and operating system design.