Communications of the ACM, October 19, 2018
By Judy Robertson
There’s a mismatch between what we teach children about computing at school and what they want to know. More than a decade ago computer science educators coined the phrase computational thinking to refer to the unique cleverness of the way computer scientists approach problem solving. “Our thinking is based on abstraction, decomposition, generalization, and pattern matching”, we said, “and everyone will find it useful to think like this in their everyday lives. So please stop asking us to fix your printer.” Computational thinking has been a hugely successful idea and is now taught at school in many countries across the world. Although I welcome the positioning of computer science as a respectable, influential intellectual discipline, in my view computational thinking has abstracted us too far away from the heart of computation – the machine. The world would be a tedious place if we had to do all our computational thinking ourselves; that’s why we invented computers in the first place. Yet, the new school curricula across the world have lost focus on hardware and how code executes on it.