ENGINEERING NEWS

Jeannette Wing Advocates Computational Thinking


Watch a video of Jeannette Wing's talk here.

If Jeannette Wing had her way, computational thinking would be a fundamental skill used by everyone by the mid-21st century.

Wing, the President's Professor of Computer Science at Carnegie Mellon University, told a packed room at her Dean’s Seminar Series talk on Feb. 9 that such thinking could benefit all areas of research and education — even in the arts and humanities.

“Computational thinking is for everyone, everywhere,” she said.

So what is computational thinking? Wing defines it as drawing on fundamental computer science concepts to design systems, solve problems, and understand human behavior. Computation is the automation of abstractions, she says, and computational thinking focuses on that process of abstraction: separating concerns, modeling the problem, and then solving the problem without understanding its every detail. It’s taking a solution and measuring it by how efficient, correct, and elegant it is — something computer scientists do regularly in their field.

But computational thinking is different than computer programming or computer literacy — it’s using tools that programmers use to frame problems. Take, for example, the algorithm: instructions for calculating a function. They are the essential way that computers process information, but they are another way that humans can frame problems.

“I think everyone can benefit from knowing what an algorithm is,” Wing said. “We are limited in computing only by our own imagination.”

Humans and computers each excel at solving different kinds of problems — and Wing believes that eventually humans will create a vast network of human minds and computers to solve problems that each can’t solve alone —but in the interim, computational thinking could provide a new framework for thinking beyond computer sciences. It already pervades many different areas in society — from using crowdsourcing in journalism to using algorithmic medicine in healthcare; even cooking a gourmet meal could be considered parallel processing — but in order for computational thinking to truly be successful it must be taught earlier in life, Wing said.

Beginning computer science classes usually teach students how to program in Java, she said, but they should really teach higher level concepts of computational processes and thinking. Universities should also offer a computer science course to teach computational thinking to non-majors, as well.

But computational thinking should be taught even before that, she says. Computer scientists should work with K-12 educators to determine an effective way of teaching the concept as we do mathematics — by building on concepts throughout elementary, middle, and high school.

“That is my challenge,” she said. “I do think we can teach algorithms to grade-school kids. Then maybe, with that word, we can empower that child to have a concept in his head, and he can see it and apply it everywhere. That’s our job — to inspire them, to push them.”