Sign In

Communications of the ACM

Table of Contents

What Is an Algorithm?

The 14th International Congress of Logic, Methodology and Philosophy of Science, held last July, included a special symposium on the subject of "What is an algorithm?" This may seem to be a strange question to ask just before …
DEPARTMENT: Letters to the editor

From Syntax to Semantics For AI

Concerning Moshe Y. Vardi's Editor's Letter "Artificial Intelligence: Past and Future" (Jan. 2012), I'd like to add that AI won't replace human …

Knowledgeable Beginners

Bertrand Meyer presents data on the computer and programming knowledge of two groups of novice CS students.

Gaining Wisdom from Crowds

Online games are harnessing humans' skills to solve scientific problems that are currently beyond the ability of computers.

Computing With Magnets

Researchers are finding ways to develop ultra-efficient and nonvolatile computer processors out of nanoscale magnets. A number of obstacles, however, stand in the way of their commercialization.

Policing the Future

Computer programs and new mathematical algorithms are helping law enforcement agencies better predict when and where crimes will occur.

Stanford Schooling - Gratis!

Stanford University's experiment with online classes could help transform computer science education.

Computer Science Awards

Scientists worldwide are honored for their contributions to design, computing, science, and technology.
COLUMN: Computing ethics

War 2.0: Cyberweapons and Ethics

Considering the basic ethical questions that must be resolved in the new realm of cyberwarfare.
COLUMN: Legally speaking

Do Software Copyrights Protect What Programs Do?

A case before the European Court of Justice has significant implications for innovation and competition in the software industry.
COLUMN: The profession of IT

The Idea Idea

What if practices rather than ideas are the main source of innovation?
COLUMN: Viewpoint

Training Users vs. Training Soldiers: Experiences from the Battlefield

How military training methods can be applied to more effectively teach computer users.

The Artificiality of Natural User Interfaces

Toward user-defined gestural interfaces.
SECTION: Practice

SAGE: Whitebox Fuzzing For Security Testing

SAGE has had a remarkable impact at Microsoft.

Revisiting Network I/O APIs: The Netmap Framework

It is possible to achieve huge performance improvements in the way packet processing is done on modern operating systems.

The Hyperdimensional Tar Pit

Make a guess, double the number, and then move to the next larger unit of time.
SECTION: Contributed articles

Mobicon: A Mobile Context-Monitoring Platform

User context is defined by data generated through everyday physical activity in sensor-rich, resource-limited mobile environments.

A Comparative Study of Cyberattacks

Attackers base themselves in countries of convenience, virtually.
SECTION: Review articles

Turing's Titanic Machine?

Embodied and disembodied computing at the Turing Centenary.

The Next Generation of GPS Navigation Systems

A live-view GPS navigation system ensures that a user's cognitive map is consistent with the navigation map.
SECTION: Research highlights

Technical Perspective: The Benefits of Capability-Based Protection

Affordable personal computing hardware and the usable GUI-based PC operating systems made the vision of "a computer on every desktop and in every home" a reality. Thanks to the Internet,  personal computers did not remain personal …

A Taste of Capsicum: Practical Capabilities For Unix

Capsicum is a lightweight operating system capability and sandbox framework planned for inclusion in FreeBSD 9. Capsicum extends, rather than replaces, UNIX APIs, providing new kernel primitives and a userspace sandbox API. These …

Technical Perspective: A New Way to Search Game Trees

Researchers in artificial intelligence know that computers still lag far behind human levels of play in many games of strategy. One such contest of wits is Go, which remains a stronghold of human superiority. That may be about …

The Grand Challenge of Computer Go: Monte Carlo Tree Search and Extensions

The ancient oriental game of Go has long been considered a grand challenge for artificial intelligence. However, computer Go programs based on Monte-Carlo tree search now play at human-master levels and are beginning to challenge …
COLUMN: Last byte

Puzzled: Solutions and Sources

Last month (Feb. 2012) we posted a trio of brainteasers concerning where sets meet, or Venn diagrams. Here, we offer solutions to two of them. How did you do?

Q&A: Chief Strategiest

ACM CEO John White talks about initiatives to serve the organization's professional members, increase international activities, and reform computer science education.