Sign In

Communications of the ACM

BLOG@CACM



The ASPLOS 2020 Online Conference Experience
From BLOG@CACM

The ASPLOS 2020 Online Conference Experience

CS pioneered it. Should we use it?

The Rise of the Data Engineer
From BLOG@CACM

The Rise of the Data Engineer

The combination of AI and cloud infrastructure is changing the roles of certain engineers and creating a new requirement that demands an entirely new engineering...

Powerful Online Learning is a Distributed System
From BLOG@CACM

Powerful Online Learning is a Distributed System

In the midst of a pandemic, universities are now rapidly shifting to online and remote learning. Here, I will suggest a core metaphor for what powerful online 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.

The Internet of Things and the Future of Virus Detection and Prevention
From BLOG@CACM

The Internet of Things and the Future of Virus Detection and Prevention

Leveraging the Internet of Things in indoor environments could help prevent highly infectious diseases from spreading rapidly in today’s global world.

Getting a Program Right (8)
From BLOG@CACM

Getting a Program Right (8)

The power of loop invariants.

Clean Code Isn’t Enough; It Must Be Crystal Clear, Too
From BLOG@CACM

Clean Code Isn’t Enough; It Must Be Crystal Clear, Too

Writing clean code is a great start, but for programmers who really want to master their craft, you have to go further. You need to write clear code that other...

Getting a Program Right (7)
From BLOG@CACM

Getting a Program Right (7)

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

Beware of Hurting Our Weakest Students when Moving Classes Online
From BLOG@CACM

Beware of Hurting Our Weakest Students when Moving Classes Online

Our weakest students should not be the ones bearing the greatest costs of moving classes online.

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?

Voting as Tallying in Public
From BLOG@CACM

Voting as Tallying in Public

Voting requires common acknowledgement.  Can that be achieved in automation?

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.

How Does a Pantograph Work?
From BLOG@CACM

How Does a Pantograph Work?

Pantographs have been widely used for centuries; for example, in surveying and embroidery. With these devices, drawings can be enlarged and reduced.

Getting a Program Right (2)
From BLOG@CACM

Getting a Program Right (2)

Trying to fix a binary search attempt.

How Do We Make AI More Ethical?
From BLOG@CACM

How Do We Make AI More Ethical?

Scientists consider the limits of ethics in the realm of artificial intelligence, and how to mitigate its biases.

Developing Computational Solutions With Humility: Recommending Morgan Ames' 'The Charisma Machine'
From BLOG@CACM

Developing Computational Solutions With Humility: Recommending Morgan Ames' 'The Charisma Machine'

Morgan Ames' book highlights the missing HCI design process for the XO Laptop 

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