Sign In

Communications of the ACM

Table of Contents


DEPARTMENT: Editor's letter

Computing Is a Profession

The notion of what constitutes a profession has been studied extensively through exploration of its attributes. Common among these are a deep technical expertise, an essential, valued, societal contribution, and the need to adhere …

Six Education

I recently had the opportunity to join several thousand teachers in Southern California for an annual confab on teaching. I came away with a very different view of elementary and secondary education than I had going in.
DEPARTMENT: Letters to the editor

Beyond Brute Force

In "The Science of Brute Force " (August 2017), Marjin J.H. Heule and Oliver Kullmann humorously asked whether a mathematician using brute force is really "a kind of barbaric monster." 
DEPARTMENT: BLOG@CACM

Manipulating Word Representations, and Preparing Students for Coding Jobs?

Robin K. Hill mulls an aspect of natural language processing research, while Mark Guzdial ponders why coding is taught in public schools.
COLUMN: News

3D-Printing Human Body Parts

Bioprinting has generated bones, cartilage, and some muscles; hearts and livers are still years away.

Digital Hearing

Advances in audio processing help separate the conversation from background noise.

Portable Device Fears Show Power of Social Development

How do small screens impact young minds?
COLUMN: Technology strategy and management

Amazon and Whole Foods: Follow the Strategy (and the Money)

Checking out the recent Amazon acquisition of Whole Foods.
COLUMN: Inside risks

The Real Risks of Artificial Intelligence

Incidents from the early days of AI research are instructive in the current AI environment.
COLUMN: Economic and business dimensions

FinTech Platforms and Strategy

Integrating trust and automation in finance.
COLUMN: Kode vicious

IoT: The Internet of Terror

If it seems like the sky is falling, that's because it is.
COLUMN: Viewpoint

What Can Agile Methods Bring to High-Integrity Software Development?

Considering the issues and opportunities raised by Agile practices in the development of high-integrity software.
SECTION: Practice

Metaphors We Compute By

Code is a story that explains how to solve a particular problem.

Research for Practice: Technology for Underserved Communities; Personal Fabrication

Expert-curated guides to the best of CS research.

Four Ways to Make CS and IT More Immersive

Why the Bell curve hasn't transformed into a hockey stick.
SECTION: Contributed articles

Barriers to Refactoring

Developers know refactoring improves their software, but many find themselves unable to do so when they want to.

Millennials' Attitudes Toward IT Consumerization in the Workplace

Millennials entering the workforce ignore the risks of using privately owned devices on the job.
SECTION: Review articles

Internet Advertising: Technology, Ethics, and a Serious Difference of Opinion

Exploring the technical and ethical issues surrounding Internet advertising and ad blocking.
SECTION: Research highlights

Technical Perspective: Broadening and Deepening Query Optimization Yet Still Making Progress

"Multi-Objective Parametric Query Optimization," by Immanuel Trummer and Christoph Koch is a remarkable tour de force exploration of the combination of both parametric and multi-objective query optimization.

Multi-Objective Parametric Query Optimization

We propose a generalization of the classical database query optimization problem: multi-objective parametric query (MPQ) optimization.

Technical Perspective: Shedding New Light on an Old Language Debate

"A Large-Scale Study of Programming Languages and Code Quality in GitHub," by Baishakhi Ray, et al., studies whether programming language choice and code quality are related.

A Large-Scale Study of Programming Languages and Code Quality in GitHub

What is the effect of programming languages on software quality? In this study, we gather a very large data set from GitHub in an attempt to shed some empirical light on this question.
COLUMN: Last byte

Partitioned Peace

Imagine a set of red and blue hill towns connected by a network of roads. When a person from a red town travels through a blue town or vice versa, things can get unpleasant.