Software Engineering and Programming Languages
An Agile Approach to Learning Programming
Using Independent Technical Reviews to Ensure Project Success
Technical Perspective: Borrowing Big Code to Automate Programming Activities
A Hitchhiker’s Guide to the Blockchain Universe
Blogging Birds: Telling Informative Stories About the Lives of Birds from Telemetric Data
The Seven Tools of Causal Inference, with Reflections on Machine Learning
Metamorphic Testing of Driverless Cars
Predicting Program Properties from ‘Big Code’
Software-Defined Power Cuts Costs
Seeking Digital Humanities, IT Tech Support
Libraries Considered Hazardous
Technical Perspective: To Do or Not To Do: Extending SQL with Integer Linear Programming?
CodeFlow: Improving the Code Review Process at Microsoft
A New Golden Age for Computer Architecture
SONYC: A System for Monitoring, Analyzing, and Mitigating Urban Noise Pollution
Blockchains From a Distributed Computing Perspective
Shape the Future of Computing
ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.
Get InvolvedCommunications of the ACM (CACM) is now a fully Open Access publication.
By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.
Learn More




















