Table of Contents
Leibniz conceived of a universal mathematical language in which all human knowledge can be expressed, and calculational rules carried out by machines to derive all logical relationships. His definition of computing captures
DEPARTMENT: Letters to the Editor
Moshe Y. Vardi's "Are You Talking to Me?" (Sept. 2011) said conference attendees are sometimes unable to follow speakers' presentations and eventually give up trying. How about an experimental conference where session chairs
John Langford analyzes whether conferences should offer video lectures. Judy Robertson discusses the merits of the Game Design Through Mentoring and Collaboration project.
In accordance with the Constitution and Bylaws of the ACM, the Nominating Committee hereby submits the following slate of nominees for ACM's officers.
The field of molecular computing is achieving new levels of control over biochemical processes and fostering sophisticated connections between computer science and the biological sciences.
Natural user interface developments, such as Microsoft's Kinect, may indicate the beginning of the end for the mouse.
Today's activists are highly plugged into social media, mobile apps, and other digital tools. But does this make a difference where it matters most?
Groups in more than 130 countries will participate in Computer Science Education Week this year.
Colleagues recall the creator of C and codeveloper Unix, an unassuming but brilliant man who enjoyed playing practical jokes on his coworkers.
Before Apple, Steve Jobs famously went to India with a college friend. While I never had occasion to talk to Jobs about it, I have a theory I wish I had a chance to try out on him. The theory is that Jobs saw gurus in India
In the days that followed Steve Jobs' death, he was frequently compared to Henry Ford and Thomas Edison. But Jobs was creating experiences, not technologies or products. He, and Apple, were creating a new symbolic register
COLUMN: Technology strategy and management
Reflecting on the career and contributions of the Apple cofounder.
COLUMN: Emerging markets
There is a well-known proverb, "If you give someone a fish, they'll eat for a day; if you teach them how to fish, they'll eat for a lifetime." The point is obvious. It also packs insights that are relevant for the technologist
COLUMN: Kode Vicious
It is more of a social than a technical problem.
COLUMN: Broadening participation
Seeking a comprehensive view of minority student demographics to determine what programs and policies are needed to promote diversity.
COLUMN: The profession of IT
The skill of making and recognizing grounded claims is essential for professional practice. Getting objective data to support your conclusions is not enough.
A proposal for improving doctoral program ranking strategy.
Many modern dynamic languages lack tools for understanding complex failures.
Astronomers are collecting more data than ever. What practices can keep them ahead of the flood?
Computer science is both a science and an art. Yet, when it comes time for implementation, there is a combination of artistic flare, nuanced style, and technical prowess that separates good code from great code.
SECTION: Contributed articles
People in high-density crowds appear to move with the flow of the crowd, like particles in a liquid.
Software developers' reuse of code from the Internet bears legal and economic risks for their employers.
The goal is reliable parallel simulations, helping scientists understand nature, from how foams compress to how ribosomes construct proteins.
SECTION: Review articles
The motivation and key concepts behind answer set programming — a promising approach to declarative problem solving.
SECTION: Research highlights
Software misbehaves all too often. This is a truism, but also the driving force behind many computing techniques intended to increase software reliability, safety, and security, ranging from basic testing to full formal verification
High-level computer applications build on services provided by lower-level software layers. Unfortunately, today's low-level software still suffers from a steady stream of bugs, often leaving computers vulnerable to attack
We live in an era of data abundance. Every aspect of our online and offline behavior is captured and analyzed. The companies holding our data face the responsibility for protecting our privacy, especially as they sell and exchange
In a social network, nodes correspond to people or other social entities, and edges correspond to social links between them. We describe a family of attacks such that it is possible to learn whether edges exist or not between
COLUMN: Last byte
Last month (Nov. 2011, p. 120) we posted a trio of brainteasers, including one as yet famously unsolved, concerning distances between points on the plane. Here, we offer solutions to two of them. How did you do?
M. Frans Kaashoek talks about multicore computing, security, and operating system design.