acm-header
Sign In

Communications of the ACM

BLOG@CACM


bg-corner

Getting a Program Right (5)
From BLOG@CACM

Getting a Program Right (5)

Are we there yet?

Getting a Program Right (4, Also Includes 3')
From BLOG@CACM

Getting a Program Right (4, Also Includes 3')

Trying again.

Getting a Program Right (3)
From BLOG@CACM

Getting a Program Right (3)

Attempt #3 to write a binary search program.

Getting a Program Right (2)
From BLOG@CACM

Getting a Program Right (2)

Trying to fix a binary search attempt.

Getting a Program Right (1)
From BLOG@CACM

Getting a Program Right (1)

Why it is good to have a systematic approach to software verification.

There is More Than One Way to Become a Good Programmer
From BLOG@CACM

There is More Than One Way to Become a Good Programmer

A recent Communications of the ACM article casts aspersions on the innovative concept of code academy, a fast-developing approach to teaching programming. The analysis...

Are My Requirements Complete?
From BLOG@CACM

Are My Requirements Complete?

Knowing the notion of sufficient completeness and the theory of abstract data types helps practitioners produce better requirements.

The Shortest Possible Schedule Theorem: Yes, You Can Throw Money at Software Deadlines
From BLOG@CACM

The Shortest Possible Schedule Theorem: Yes, You Can Throw Money at Software Deadlines

As close as we have to a universal law of software engineering management.

Soundness and Completeness: Defined With Precision
From BLOG@CACM

Soundness and Completeness: Defined With Precision

The two key properties of program analysis are dual of each other.

The Formal Picnic Approach to Requirements
From BLOG@CACM

The Formal Picnic Approach to Requirements

A mathematical excursion will improve your requirements.

Ten Traits of Exceptional Innovators
From BLOG@CACM

Ten Traits of Exceptional Innovators

I have had the privilege of meeting, and in some cases closely interacting with, pioneer scientists, technologists, and entrepreneurs, including Nobel, Fields,...

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.

The Real Problem With AI
From BLOG@CACM

The Real Problem With AI

It's algorithms. And data. They can be wrong.

­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.

End Anonymous Refereeing
From BLOG@CACM

End Anonymous Refereeing

Who came up with this bizarre idea?

Mainstream Enough For Me
From BLOG@CACM

Mainstream Enough For Me

The worst possible choice of e-mail recipient.

Beyond Folk Pedagogy
From BLOG@CACM

Beyond Folk Pedagogy

On evidence-based teaching.

Empirical Answers to Important Software Engineering Questions (Part 2 of 2)
From BLOG@CACM

Empirical Answers to Important Software Engineering Questions (Part 2 of 2)

Time to start from what matters to practitioners
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account