acm-header
Sign In

Communications of the ACM

Table of Contents


Educating Computing's Next Generation

In a sensible world—at least as defined by computer scientists who, as we all know, are eminently sensible people—there would be no need for the ACM Education Policy …

In the Virtual Extension

Here are synopses of four Virtual Extension articles that are now available in their entirety to ACM members via the Digital Library.
DEPARTMENT: Letters to the editor

I Want a Personal Information Pod

I found much to agree with in Stephen Davies's article "Still Building the Memex" (Feb. 2011) but also feel one of his suggestions went off in the wrong direction.
DEPARTMENT: BLOG@CACM

Matters of Design, Part II

Jason Hong discusses how Apple creates well-designed products and what the human-computer interaction community can learn from its methods.
DEPARTMENT: CACM online

ACM on the Move

Over the coming weeks, ACM will be diving headfirst into the world of mobility. Our strategy is essentially two-pronged. The first is the development of a mobile version of …
COLUMN: News

The Quest For Randomness

It's not easy to generate a string of numbers that lack any pattern or rule, or even to define exactly what randomness means.

Engineering Sensation in Artificial Limbs

Advancements in mobile electronics have led to several prosthetics innovations in recent years, but providing reliable touch sensations to users remains an elusive goal.

Social Games, Virtual Goods

The popularity of virtual goods and currencies in online gaming is changing how people think and act about money.

British Computer Scientists Reboot

After a year of turmoil, computer scientists at King's College London have retained their jobs, but substantial challenges lie ahead.
COLUMN: Emerging markets

Managing Global IT Teams: Considering Cultural Dynamics

Successful global IT team managers combine general distributed team management skills enhanced with cultural sensitivity.
COLUMN: Historical reflections

Building Castles in the Air

Reflections on recruiting and training programmers during the early period of computing.
COLUMN: Technology strategy and management

Platform Wars Come to Social Media

The world can absorb more social media sites, but how many?
COLUMN: Kode Vicious

Coder's Block

Programming is a creative endeavor, and therefore there is such a thing as coder's block. What does it take to clear the blockage?
COLUMN: Viewpoint

Asymmetries and Shortages of the Network Neutrality Principle

Since the beginning of the debate on network neutrality, and perhaps as an inheritance of that beginning, the controversy has been restricted to fixed broadband networks.
SECTION: Practice

Returning Control to the Programmer: SIMD Intrinsics For Virtual Machines

Exposing SIMD units within interpreted languages could simplify programs and unleash floods of untapped processor power.

Successful Strategies For IPv6 Rollouts. Really.

Knowing where to begin is half the battle.

A Co-Relational Model of Data For Large Shared Data Banks

Contrary to popular belief, SQL and noSQL are really just two sides of the same coin.
SECTION: Contributed articles

Design Principles For Visual Communication

How to identify, instantiate, and evaluate domain-specific design principles for creating more effective visualizations.

Why STM Can Be More Than A Research Toy

Despite earlier claims, Software Transactional Memory outperforms sequential code.

Reflecting on the DARPA Red Balloon Challenge

Finding 10 balloons across the U.S. illustrates how the Internet has changed the way we solve highly distributed problems.
SECTION: Review articles

Crowdsourcing Systems on the World-Wide Web

The practice of crowdsourcing is transforming the Web and giving rise to a new field.
SECTION: Research highlights

Technical Perspective: Liability Issues in Software Engineering

The paper by LeMétayer et al. addresses one technical issue in a large and serious problem in the production of mass-market software (MMSW), that of the lack of liability …

Liability Issues in Software Engineering: The Use of Formal Methods to Reduce Legal Uncertainties

This paper reports on the results of a multidisciplinary project involving lawyers and computer scientists with the aim to put forward a set of methods and tools to (1) define software liability in a precise and unambiguous way …

Technical Perspective: Patterns Hidden from Simple Algorithms

Is the number 9021960864034418159813 random? To my limited mind, the string  appears random. Is there a way to use some formal mathematics to justify my naïveté?

Poly-Logarithmic Independence Fools Bounded-Depth Boolean Circuits

The question of determining which (weak) forms of randomness "fool" (or seem totally random to) a given algorithm is a basic and fundamental question in the modern theory …
COLUMN: Last byte

Q&A: The Chief Computer

Kelly Gotlieb recalls the early days of computer science in Canada.
COLUMN: Viewpoints: Virtual extension

Reaching Future Computer Scientists

The decline in undergraduate enrollment at the university level is well documented and it begins in high school. We advocate university faculty reaching out to high school …
SECTION: Contributed articles: Virtual extension

Emergency! Web 2.0 to the Rescue!

Emergent serendipity fosters volunteerism driven by creative problem solving, not simply following directions.

A Research Doctorate For Computing Professionals

Looking back on the first decade of the Doctor of Professional Studies in Computing---an ambitious doctoral track for people who want to do research in an industrial setting.
SECTION: Review articles: Virtual extension

Achievements and Challenges in Software Reverse Engineering

Deeply understanding the intricacies of software must always come before any considerations for modifying it.