Sign In

Communications of the ACM

BLOG@CACM



Why We Compute
From BLOG@CACM

Why We Compute

Why do we, as researchers and practitioners, have this deep and abiding love of computing? Why do we compute? I suspect it is a deeper, more primal yearning, one...

Why Don't Languages Support Multimedia All the Way Down?
From BLOG@CACM

Why Don't Languages Support Multimedia All the Way Down?

It's a hallmark of CS thinking, to be able to shift levels of abstraction down to the bytes. Why do programming languages make this so hard to teach students?

Research in Agile Development Practices
From BLOG@CACM

Research in Agile Development Practices

Recent research in Agile development practices has identified that self-organizing teams spontaneously assume some previously unclassified roles and practices to...

New SQL: An Alternative to NoSQL and Old SQL For New OLTP Apps
From BLOG@CACM

New SQL: An Alternative to NoSQL and Old SQL For New OLTP Apps

New SQL should be considered as an alternative to NoSQL or Old SQL for New OLTP applications. If New OLTP is as big a market as I foresee, we will see many more...

Long Live Incremental Research!
From BLOG@CACM

Long Live Incremental Research!

“Break through!” clamor the funding agencies, which scorn “incremental” research. Sure, every human being needs hype; in truth, though, almost all research—good...

Embracing Noise or Why Computer Scientists Should Stop Worrying and Learn to Love the Errors
From BLOG@CACM

Embracing Noise or Why Computer Scientists Should Stop Worrying and Learn to Love the Errors

Precision is not required in everything or even most things.  Failures are best handled by expecting them all the time, not treating them as exceptions.  We should...

From 'Must' and 'Unsuitable' to Design Guidelines in Computing Education
From BLOG@CACM

From 'Must' and 'Unsuitable' to Design Guidelines in Computing Education

Rhetoric in education tends to be politicized and polarized, and computing education is no different.  Research in computing education might learn from design-based...

Algorithm Visualizations and Community Building
From BLOG@CACM

Algorithm Visualizations and Community Building

If you’re interested in using or developing algorithm visualizations (AVs), you should visit AlgoViz.org, a portal dedicated to creating a repository of AVs and...

Intellectual Amplification via Computing
From BLOG@CACM

Intellectual Amplification via Computing

As the recent performance of IBM's Watson system on the game show Jeopardy! illustrated, the combination of large-scale data, rich algorithm suites and powerful...

What 'Beginning' Students Already Know: The Evidence
From BLOG@CACM

What 'Beginning' Students Already Know: The Evidence

Detailed data collection at ETH Zurich over eight years shows what entering computer science students already know in computer usage and programming.

Again: The One Sure Way to Advance Software Engineering
From BLOG@CACM

Again: The One Sure Way to Advance Software Engineering

There is one proven way to improve the state of software, following the the airline industry's spectacular improvements of safety. The IT industry ignores it. Why...

Works in Progress: MIA
From BLOG@CACM

Works in Progress: MIA

It is time we extracted a sample of cultural DNA from computing's history and engineered a new generation of contemplative, informal workshops. After gestation,...

Welcome to SC10: Opening Keynote, Top500 List
From BLOG@CACM

Welcome to SC10: Opening Keynote, Top500 List

SC10—the premier conference for supercomputing—has begun. This post touches on a few highlights from the first day of the full technical program, including the...

Watts Humphrey: In Honor of a Pioneer
From BLOG@CACM

Watts Humphrey: In Honor of a Pioneer

Watts Humphrey left us a few weeks ago. His contributions to professional software engineering have been essential.

HPC and the Excluded Middle
From BLOG@CACM

HPC and the Excluded Middle

Betwixt and between ubiquitous consumer software and the ethereal realm of ultra-high-performance computing, lies the excluded middle, the world of day-to-day computational...

Can Randomly Generated Code Fix Software Bugs?
From BLOG@CACM

Can Randomly Generated Code Fix Software Bugs?

Can the principles of evolution be applied to software code and used to improve it? Stephanie Forrest thinks so—and has some encouraging data to prove it.  

Old Geeks Never Die, They Just Get Grumpier
From BLOG@CACM

Old Geeks Never Die, They Just Get Grumpier

With age comes wisdom, or so they say.  But when we geeks age, does it make us wiser or just grumpier?

Why Is Great Design So Hard (Part Two)?
From BLOG@CACM

Why Is Great Design So Hard (Part Two)?

Previously, I asked the question of why great design is so hard to integrate in organizations. In this article, I take a look at how Apple does design, and what...

From BLOG@CACM

The First ACM Symposium on Cloud Computing (SoCC)

Earlier this summer the first ACM Symposium on Cloud Computing was held in Indianapolis, Indiana. With three stellar keynotes and an exceptional program, the inaugural...

Better Game Playing ­Using Parallel Algorithms
From BLOG@CACM

Better Game Playing ­Using Parallel Algorithms

Innovations in playing the game "Go" using Monte Carlo Tree Search and parallel algorithms.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account