Sign In

Communications of the ACM

Table of Contents

A Tale of ACM Visions

ACM's new CEO lays out some brief thoughts on the future of the world's leading professional computing society in the hope of eliciting reactions and suggestions.

Memory with a Twist

I continue to look for ways to preserve digital information over long periods of time. Imagine storing petabytes of information in vials containing dried DNA and using robots to retrieve it.
DEPARTMENT: Letters to the Editor

Who Will Read PACM?

None of the three articles on the proposed Proceedings of the ACM (Sept. 2015) addressed what should be the fundamental concern for any publication: Who will actually read (and subscribe to) it?

How Men Can Help Women in CS; Winning 'Computing's Nobel Prize'

Valerie Barr suggests how men can better promote women in computing, while Michael Stonebraker shares how it feels to receive the top honor in the computer science field.

Algorithmic Authors

Natural Language Generation software begins delivering on the promise of automated prose.

Companies Proactively Seek Out Internal Threats

Organizations must balance their concerns with the protection of employee privacy.

Brain Science Helps Computers Separate Speakers in a Crowded Room

People can listen to a single voice amid the hubbub of a cocktail party; algorithms can help computers do it, too.

John H. Holland 1929-2015

John Henry Holland, a pioneer in the study of complex adaptive systems and of what became known as genetic algorithms, died in August at the age of 86.
COLUMN: Privacy and security

Security Assurance

How can customers tell they are getting it?
COLUMN: Legally speaking

Software Patents Are Falling Down

Implications of the U.S. Supreme Court's new test for patentable subject matter.
COLUMN: Economic and business dimensions

Electronic Health Records and Patient Safety

Examining the effects of electronic health records on the safety of patients in medical facilities.
COLUMN: Education

Programming in K-12 Science Classrooms

Introducing students to visual programming as a pathway to text-based programming.
COLUMN: Interview

An Interview with Fred Brooks

ACM Fellow and A.M. Turing Award recipient Fred Brooks reflects on his career.
COLUMN: Viewpoints

When Technologies Manipulate Our Emotions

Implications of the Facebook emotions study.
SECTION: Practice

Fail at Scale

Reliability in the face of rapid change

It Probably Works

Probabilistic algorithms are all around us. Not only are they acceptable, some programmers actually seek out chances to use them.

Componentizing the Web

We may be on the cusp of a new revolution in Web development.
SECTION: Contributed articles

Information Cartography

A metro map can tell a story, as well as provide good directions.

Why People Post Benevolent and Malicious Comments Online

Explaining motivations for online comments, this study looks to help establish a positive, nonthreatening online comment culture.

Hidden In-Game Intelligence in NBA Players' Tweets

Sentiment analysis helps detect NBA players' pre-game moods from their tweets and predict their on-court performance.
SECTION: Review articles

Inductive Programming Meets the Real World

Inductive programming can liberate users from performing tedious and repetitive tasks.
SECTION: Research highlights

Technical Perspective: The Path to Light Transport

"Geometric Tools for Exploring Manifolds of Light Transport Paths" presents a technique to address the challenging problems of light transport.

Geometric Tools For Exploring Manifolds of Light Transport Paths

We provide a geometric solution to the longstanding problem of light simulations by representing light paths as points in an abstract high-dimensional configuration space that is defined by a system of constraint equations.

Technical Perspective: Treating Networks Like Programs

"Software Dataplane Verification" takes existing static checking of networks to a new level by checking the real code in the forwarding path of a Click router using classical software verification tools, and not just a model …

Software Dataplane Verification

We present the result of working iteratively on two tasks: designing a domain-specific verification tool for packet-processing software, while trying to identify a minimal set of restrictions that packet-processing software must …
COLUMN: Last byte

Upstart Puzzles: Auction Triplets

There are objects of four types and n people, each with a budget of $99. The objective of each one is to acquire three objects of the same type (any type) before anyone else does.