acm-header
Sign In

Communications of the ACM

BLOG@CACM


bg-corner

Can You Please Explain More Obscurely?
From BLOG@CACM

Can You Please Explain More Obscurely?

On the appropriate style for technical writing.

Mental Self-Check
From BLOG@CACM

Mental Self-Check

Who is crazy: the rest of the world, or I?

Not Worth a Thousand Words
From BLOG@CACM

Not Worth a Thousand Words

Pictures are no substitute for substance.

A Standard Plan for Modern Requirements
From BLOG@CACM

A Standard Plan for Modern Requirements

The ambitious systems that we develop today need a proper requirements structure. The plan defined here organizes requirements specification along four books, the...

Tips for Successful Examinations in the Age of Remote Education
From BLOG@CACM

Tips for Successful Examinations in the Age of Remote Education

Rather than fancying you can control Internet access, design exams to reward students who won't need it.

Lessons From and For Online Teaching
From BLOG@CACM

Lessons From and For Online Teaching

The troika model for successful online teaching.

Time to Resurrect PSP?
From BLOG@CACM

Time to Resurrect PSP?

The Personal Software Process encourages programmer discipline. Largely forgotten, it does have a few wrinkles, but understanding and applying its core ideas remains...

What Everyone Knows and What No One Knows
From BLOG@CACM

What Everyone Knows and What No One Knows

Who cares about logic?

Things To Do To An Algorithm
From BLOG@CACM

Things To Do To An Algorithm

What happens when people's fate hangs on machine learning?

Getting a Program Right (9) (last)
From BLOG@CACM

Getting a Program Right (9) (last)

A correct program is one that works in all cases.

Getting a Program Right (8)
From BLOG@CACM

Getting a Program Right (8)

The power of loop invariants.

Getting a Program Right (7)
From BLOG@CACM

Getting a Program Right (7)

Have you run a program proof before? Now is your chance!

Getting a Program Right (6)
From BLOG@CACM

Getting a Program Right (6)

Thanks for your patience.

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.
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account