On P, NP, and Computational Complexity
While the P vs. NP quandary is a central problem in computer science, a resolution of the problem may have limited practical impact.
Letters to the editor
How to Think About Objects
Though I agree with Mordechai Ben-Ari's Viewpoint "Objects Never? Well, Hardly Ever!" (Sept. 2010) saying that students should be introduced to procedural programming before …
In the Virtual Extension
Communications' Virtual Extension expands the page limitations of the print edition by bringing readers high-quality articles in an online-only format.
Rethinking the Systems Review Process
Tessa Lau launches a discussion about the acceptance criteria for HCI systems papers at CHI, UIST, and other conferences.
A Preference For PDF
When it comes to electronic formats, Communications readers prefer PDF to HTML, according to data on a year's worth of published articles. PDF's faithful reproduction of magazine pages appears to give it an edge. Legacy is another …
Turning Data Into Knowledge
Today's data deluge is leading to new approaches to visualize, analyze, and catalog enormous datasets.
Security in the Cloud
Cloud computing offers many advantages, but also involves security risks. Fortunately, researchers are devising some ingenious solutions.
What are the job prospects for today's—and tomorrow's—graduates?
Wide Open Spaces
The U.S. Federal Communications Commission's decision to open frequencies in the broadcast spectrum could enable broadband networks in rural areas, permit smart electric grids, and more.
Economic and business dimensions
The Divergent Online News Preferences of Journalists and Readers
Reading between the lines of the thematic gap between the supply and demand of online news.
K-12 Computational Learning
Enhancing student learning and understanding by combining theories of learning with the computer's unique attributes.
Why Do Software Startups Patent (or Not)?
Assessing the controversial results of a recent empirical study of the role of intellectual property in software startups.
Privacy and security
Why Isn't Cyberspace More Secure?
Evaluating governmental actions—and inactions—toward improving cyber security and addressing future challenges.
Sensor Networks For the Sciences
Lessons from the field derived from developing wireless sensor networks for monitoring active and hazardous volcanoes.
Viewpoints: Virtual extension
In Support of Computer Science Teachers and the CSTA
If we want more computer science students, and if we want computer scientists to be understood for what we are, we must clarify the message about computer science that all students will receive as part of their K–12 education …
The Case Against Data Lock-In
Want to keep your users? Just make it easy for them to leave.
Keeping Bits Safe: How Hard Can It Be?
As storage systems grow larger and larger, protecting their data for long-term storage is becoming ever more challenging.
Sir, Please Step Away from the ASR-33!
To move forward with programming languages we must first break free from the tyranny of ASCII.
Understanding Throughput-Oriented Architectures
For workloads with abundant parallelism, GPUs deliver higher peak computational throughput than latency-oriented CPUs.
Regulating the Information Gatekeepers
Concerns about biased manipulation of search results may require intervention involving government regulation.
Contributed articles: Virtual extension
Supporting Ubiquitous Location Information in Interworking 3G and Wireless Networks
Positioning mobile devices in the third generation of wireless communication networks is crucial to many commercial services. However, positioning techniques vary by accuracy, implementation cost, and typical application scenarios …
Relative Status of Journal and Conference Publications in Computer Science
Though computer scientists agree that conference publications enjoy greater status in computer science than in other disciplines, there is little quantitative evidence to support this view.
Using Complexity to Protect Elections
Computational complexity may truly be the shield against election manipulation.
Technical Perspective: Data Races Are Evil with No Exceptions
Exploiting parallelism has become the primary means to higher performance. Shared memory is a pervasively used programming model. Unfortunately, shared-memory programs are …
Goldilocks: A Race-Aware Java Runtime
GOLDILOCKS is a Java runtime that monitors program executions and throws a
DataRaceException when a data race is about to occur. This prevents racy accesses from taking place …
FastTrack: Efficient and Precise Dynamic Race Detection
Multithreaded programs are notoriously prone to race conditions. Prior work developed precise dynamic race detectors that never report false alarms. However, these checkers employ expensive data structures that result in significant …
Puzzled: Rectangles Galore
Welcome to three new puzzles. Solutions to the first two will be published next month; the third is (as yet) unsolved. In each, the issue is how your intuition matches up with the mathematics.