In recent years there’s been a lot of emphasis on teaching kids computer science both in high school and at much younger ages. Computers are an integral part of schools and workplaces; many educators and parents believe learning to code is now a skill akin to learning to write. And as employers recognize that American students aren’t graduating with the skills they need at their companies, there has been a push for more science, technology, engineering and math courses. Computer science has sparked a lot of excitement as a field where well-paid jobs will exist in the future.
But beyond writing the code itself, many argue that the thinking processes inherent to a computer related problem are important for all people to learn. Advocates say what’s known as “computational thinking” is useful for anyone trying to break a large problem down into more manageable parts. In her New York Times article Laura Pappano writes that computational thinking is another problem solving strategy that could be applied to the humanities as well as technology. She interviewed Microsoft’s Jeannette M. Wing, who is a former professor at Carnegie Mellon and author of an influential paper on computational thinking:
“Computing practices like reformulating tough problems into ones we know how to solve, seeing trade-offs between time and space, and pipelining (allowing the next action in line to begin before the first completes the sequence) have many applications, she said.
Consider the buffet line. ‘When you go to a lunch buffet, you see the forks and knives are the first station,” she said. “I find that very annoying. They should be last. You shouldn’t have to balance your plate while you have your fork and knife.’ Dr. Wing, who equates a child filling her backpack to caching (how computers retrieve and store information needed later), sees the buffet’s inefficiency as a failure to apply logical thinking and sequencing.
Computational thinking, she said, can aid a basic task like planning a trip — breaking it into booking flights, hotels, car rental — or be used ‘for something as complicated as health care or policy decision-making.’ Identifying subproblems and describing their relationship to the larger problem allows for targeted work. ‘Once you have well-defined interfaces,’ she said, ‘you can ignore the complexity of the rest of the problem.'”
Of course not everyone agrees that computational thinking is a crucial skill. Even some within the field acknowledge that the hype around coding has gotten out of hand. Others say that the ability to think critically, break down problems and apply logic are present in many disciplines. Still, the specific step-by-step processes of computer scientists may be an asset for those who tend towards the big picture. A strong strategy to slow down and look at individual pieces of a complex system is never a bad thing.
It is a cool and useful idea that, along with other cool and useful computer science ideas, has people itching to know more. It’s obvious that computers have become indispensable problem-solving partners, not to mention personal companions. But it’s suddenly not enough to be a fluent user of software interfaces.