Sign In

Communications of the ACM



The Goal of Software Testing
From [email protected]

The Goal of Software Testing

Finding errors is not the same strategy as making sure that a product works.

Until the Craze Fades
From [email protected]

Until the Craze Fades

Too much, perhaps, of a good thing?

Teaching Two Programming Languages in the First CS Course
From [email protected]

Teaching Two Programming Languages in the First CS Course

Should we teach two different programming languages in the first CS course?  Probably not -- here's what we know.

Articulation of Decision Responsibility
From [email protected]

Articulation of Decision Responsibility

Can we establish a locution for the results of a program that does not ascribe decision-making power?

Why Not Program Right?
From [email protected]

Why Not Program Right?

Not your grandmother's class invariant.

When Will  We Learn?
From [email protected]

When Will We Learn?

Massive software failure once again, with no lesson from past occurrences and no lesson for future systems.

ACM Public Policy Update: 100-Day Highlights
From [email protected]

ACM Public Policy Update: 100-Day Highlights

Chronicling the First 100 Days this year of ACM's member-driven policy efforts in Europe and the U.S.

The Era of Hackers Is Over
From [email protected]

The Era of Hackers Is Over

The ability to hack algorithms and make data structures optimal was a virtue of programmers a few decades ago. The current reality is much different, with the ability...

End Anonymous Refereeing
From [email protected]

End Anonymous Refereeing

Who came up with this bizarre idea?

Integrating CS to Improve Scores in Math, Science, and English Language Arts: New Result from Code.org and Outliers
From [email protected]

Integrating CS to Improve Scores in Math, Science, and English Language Arts: New Result from Code.org and Outliers

Evidence from Broward County of integrated CS curriculum having an impact on standardized tests 

Examples of Phenomenology in Computing
From [email protected]

Examples of Phenomenology in Computing

The branch of philosophy known as phenomenology can broaden our understanding of what is really going on in the tasks we address with computing.

What Went Wrong? Facebook and 'Sharing' Data with Cambridge Analytica
From [email protected]

What Went Wrong? Facebook and 'Sharing' Data with Cambridge Analytica

The road to the Cambridge Analytica/Facebook scandal is strewn with failures.

Securing Threats to Election Systems
From [email protected]

Securing Threats to Election Systems

Election systems are supposed to be disconnected from the Internet, for obvious and sensible reasons. Most elections today, however, use computers.

Time To End The vi/Emacs Debate
From [email protected]

Time To End The vi/Emacs Debate

If you still use Emacs, I feel for you. Perhaps it is time to give vi a try.

A Computing Education Research Perspective on Programmable Programming Languages
From [email protected]

A Computing Education Research Perspective on Programmable Programming Languages

Computing education researcher take on the implications of programmable programming languages

Mainstream Enough For Me
From [email protected]

Mainstream Enough For Me

The worst possible choice of e-mail recipient.

Did We Just Replace the 'Knowledge Bottleneck' With a 'Data Bottleneck'?
From [email protected]

Did We Just Replace the 'Knowledge Bottleneck' With a 'Data Bottleneck'?

In practice, it seems that avoiding the knowledge acquisition bottleneck has not resulted in any net gain.

Why Code Comments Still Matter
From [email protected]

Why Code Comments Still Matter

Some believe that commenting code is bad, but comments still matter in our programs.

Massive Retaliation 2.0
From [email protected]

Massive Retaliation 2.0

Reacting to the U.S. Nuclear Posture Review, which now tries to extend nuclear deterrence to cyberspace.

Deciding When the Design is Wrong in Programming Languages and Education
From [email protected]

Deciding When the Design is Wrong in Programming Languages and Education

When do we decide that errors are due to bad design in programming languges and education?
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account