Sign In

Communications of the ACM

Table of Contents


DEPARTMENT: President's letter

A new beginning, a fond farewell

I am writing this column in my last month as President of ACM. It's been a great opportunity to support the Association's many successful programs and to expand and firmly establish new directions. Much has been accomplished, …
DEPARTMENT: Letters to the editor

Words both kind and contrary


DEPARTMENT: CACM online

Small changes hint at bigger things


COLUMN: News

Designing the perfect auction

Distributed algorithmic mechanism design is a field at the intersection of computer science and economics.

Access for all

Accessible technologies are improving the lives of millions of physically impaired people around the world.

Challenging poverty

Information and communication technologies are an important component in the generation of wealth. How can they help reduce poverty?

Remembering Jim

Both melancholy and reverential, the Jim Gray Tribute at the University of California at Berkeley honored one of computer science's leading pioneers and visionaries.
COLUMN: Viewpoints

The profession of IT: Voices of computing

The choir of engineers, mathematicians, and scientists who make up the bulk of our field better represents computing than the solo voice of the programmer.

From the front lines: Software development amidst the whiz of silver bullets

Software development organizations must accept the inevitability of silver-bullet solution proposals and devise strategies to defend against them.

Education: Paving the way for computational thinking

Drawing on methods from diverse disciplines---including computer science, education, sociology, and psychology---to improve computing education.

Viewpoint: Envisioning the future of computing research

Advances in computing have changed our lives---the Computing Community Consortium aims to help the research community continue that lineage.

Interview: Donald Knuth: A life's work interrupted

In this second of a two-part interview by Edward Feigenbaum, we find Knuth, having completed three volumes of The Art of Computer Programming, drawn to creating a system to produce books digitally.
SECTION: Practice

Scaling in Games and Virtual Worlds

Online games and virtual worlds have familiar scaling requirements, but don't be fooled: Everything you know is wrong.

CTO Storage Roundtable: Part I

Leaders in the storage world offer valuable advice for making more effective architecture and technology decisions.

The Rise and Fall of CORBA

There's a lot we can learn from CORBA's mistakes.
SECTION: Contributed articles

Designing Games With a Purpose

Data generated as a side effect of game play also solves computational problems and trains AI algorithms.

The Collaborative Organization of Knowledge

Why Wikipedia's remarkable growth is sustainable.
SECTION: Review articles

Computer Science and Game Theory

The most dramatic interaction between CS and GT may involve game-theory pragmatics.
SECTION: Research highlights

Technical Perspective: A Methodology for Evaluating Computer System Performance

Computer science has long had a solid foundation for evaluating the performance of algorithms. The asymptotic complexity of the time required by an algorithm is well defined …

Wake Up and Smell the Coffee: Evaluation Methodology for the 21st Century

Evaluation methodology underpins all innovation in experimental computer science. It requires relevant workloads, appropriate experimental design, andrigorous analysis. Unfortunately …

Technical Perspective: Transactions are Tomorrow's Loads and Stores

In computer science, when we say "time is money," we typically refer to two types of time that determine the costs and benefits of a given computer program: the time it takes …

Composable Memory Transactions

In this paper we present a concurrency model based on transactional memory. All the usual benefits of transactional memory are present, but in addition …
COLUMN: Last byte

Puzzled: Delightful graph theory

Welcome to the new puzzle column. Each column will present three puzzles. The first two will have known (and usually elegant) solutions that will appear in the next issue of Communications. The third will be an open problem; …