Sign In

Communications of the ACM

BLOG@CACM



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

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

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?

Getting a Program Right (2)
From BLOG@CACM

Getting a Program Right (2)

Trying to fix a binary search attempt.

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.

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

Talented Programmers Don't Tolerate Chaos
From BLOG@CACM

Talented Programmers Don't Tolerate Chaos

Talented programmers will strive to structure chaos and write perfect code.

Not So Good After All? Don't Let 'Altruism' Kill Your Company
From BLOG@CACM

Not So Good After All? Don't Let 'Altruism' Kill Your Company

Altruism is often heralded as a panacea for management challenges, but it could actually be a death sentence for your team and projects. Here's why. 

Evolution Through Revolution: Getting Your Team to Embrace Change
From BLOG@CACM

Evolution Through Revolution: Getting Your Team to Embrace Change

Don't accept the status quo. Instead, build a team willing to fight for positive change.

Computing Continues to Dominate STEM Career Opportunities
From BLOG@CACM

Computing Continues to Dominate STEM Career Opportunities

According to the most recent (2018-28) U.S. Bureau of Labor Statistics Employment Projections, the top five STEM career opportunities are all in computing.

Inventing Computing Education to Meet All (Especially Teachers) Undergraduates' Needs: CUE.NEXT Workshops
From BLOG@CACM

Inventing Computing Education to Meet All (Especially Teachers) Undergraduates' Needs: CUE.NEXT Workshops

The CUE.NEXT workshops aim to provide computing education for all undergraduates.

The Size of Computing Education Today, By The Numbers
From BLOG@CACM

The Size of Computing Education Today, By The Numbers

 How many students learn general-purpose programming today, compared to using other computing environments or learning other STEM subjects?

If We Want Women to Persist in Computing, Teach Them Programming – At Any Age
From BLOG@CACM

If We Want Women to Persist in Computing, Teach Them Programming – At Any Age

Two recent reports point to the important of teaching female students to program and that it's never "too late."

 A Minuscule Percentage of Students Take High School Computer Science in the United States: Access Isn't Enough
From BLOG@CACM

A Minuscule Percentage of Students Take High School Computer Science in the United States: Access Isn't Enough

Likely less than 4% of U.S. high school students take a computer science course.

We Should Stop Saying 'Language Independent.' We Don't Know How To Do That
From BLOG@CACM

We Should Stop Saying 'Language Independent.' We Don't Know How To Do That

We know how to make multi-lingual pseudocode-based assessments, not language-independent assessments.

What Help Should We Provide to Students Learning to Program?
From BLOG@CACM

What Help Should We Provide to Students Learning to Program?

Insights from a recent Dagstuhl Seminar on "Notional Machines and Programming Language Semantics in Education."

Hazardous Enthusiasm and How Eagerness Can Kill A Project
From BLOG@CACM

Hazardous Enthusiasm and How Eagerness Can Kill A Project

Many otherwise competent software developers and potential contributors end up being overwhelmed by "hazardous enthusiasm." They end up overwhelmed by their excitement...
Sign In for Full Access
» Forgot Password? » Create an ACM Web Account