acm-header
Sign In

Communications of the ACM

BLOG@CACM


bg-corner

An Agile Approach to Learning Programming
From BLOG@CACM

An Agile Approach to Learning Programming

The Super Simple Programming Book is one example to teach programming in an Agile way. In general, Agile concepts can lead to highly effective learning.

­Using Independent Technical Reviews to Ensure Project Success
From BLOG@CACM

­Using Independent Technical Reviews to Ensure Project Success

By using independent technical reviews, management can have a third party audit software and ensure the dev team stays on track.

Why is Privacy So Hard?
From BLOG@CACM

Why is Privacy So Hard?

Why is privacy so hard? Why is it, after so much negative press about it, are we still being constantly tracked on the web and on our smartphones? Why is it, after...

What Is a Variable?
From BLOG@CACM

What Is a Variable?

A stab at a definition, for outsiders, of what we in computing mean by the term "variable" raises more questions than it answers.

The Formal Picnic Approach to Requirements
From BLOG@CACM

The Formal Picnic Approach to Requirements

A mathematical excursion will improve your requirements.

Scalable Intelligent Systems by 2025
From BLOG@CACM

Scalable Intelligent Systems by 2025

People are fundamental to a Scalable Intelligent System; there is no computer-only solution that can implement such a system.

How Did People Write Machine Learning Code in the Past?
From BLOG@CACM

How Did People Write Machine Learning Code in the Past?

Summarizes popular programming languages and libraries that have been used for machine learning throughout the past two decades.

Discovering Bugs, or Ensuring Success?
From Communications of the ACM

Discovering Bugs, or Ensuring Success?

Finding errors is not the same as making certain a software product works correctly.

Blame-Free Quality Control
From BLOG@CACM

Blame-Free Quality Control

How liable should programmers be for the quality of their software?

Discussing Empirical Answers to Questions of Software Engineering
From BLOG@CACM

Discussing Empirical Answers to Questions of Software Engineering

Focusing on what helps software developers.

A Software Architect Is the Person You Blame
From BLOG@CACM

A Software Architect Is the Person You Blame

How efficient is your current software project, and could it potentially benefit from the addition of a software architect?

The Goal of Software Testing
From BLOG@CACM

The Goal of Software Testing

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

­Until the Craze Fades
From BLOG@CACM

­Until the Craze Fades

Too much, perhaps, of a good thing?

Why Not Program Right?
From BLOG@CACM

Why Not Program Right?

Not your grandmother's class invariant.

When Will  We Learn?
From BLOG@CACM

When Will We Learn?

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

The Era of Hackers Is Over
From BLOG@CACM

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 BLOG@CACM

End Anonymous Refereeing

Who came up with this bizarre idea?

Examples of Phenomenology in Computing
From BLOG@CACM

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.

Time To End The vi/Emacs Debate
From BLOG@CACM

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.

Mainstream Enough For Me
From BLOG@CACM

Mainstream Enough For Me

The worst possible choice of e-mail recipient.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account