By Jonathan Szish

About 130 computer science freshmen are gathered inside 7500 Wean Hall, the biggest classroom in an eight-story building that houses the computer science program. They’re learning about the 40-year history and culture of computer science at Carnegie Mellon. It’s Freshman Immigration Course, held each fall. Jeannette Wing—who has been the department head for nearly a year and a half—steps up and says hello. She gives a brief history lesson. And what a history it is:

From out of a basement in the business school, professors Herbert Simon, Allen Newell, and Alan Perlis founded the computer science department in 1965. Perlis would win the 1966 Turing Award—the “Nobel Prize” of computing—for the work he had done as a member of the team that developed the ALGOL computer programming language, which is considered the most important language of its era in terms of its influence on later programming languages. In 1975, Newell and Simon also won the Turing Award for their contributions to artificial intelligence and the psychology of human cognition. In 1978, Simon received the Nobel Prize in Economics for his theory of decision making, and, in 1986, he won the National Medal of Science as did Newell in 1992. These luminaries established a new discipline, computer science, that’s now taught at universities around the world, and they helped found the field of artificial intelligence—the study of making machines “think.” From 1980 to 1988, Nico Habermann served as the head of the University’s computer science department. In 1985, he co-founded Carnegie Mellon’s Software Engineering Institute with Provost Angel Jordan. In 1988, when the computer science department became one of the University’s seven colleges, Habermann became the first dean. From 1991 to 1993, Habermann held the prestigious position of assistant director for Computer and Information Science and Engineering at the National Science Foundation.

When the history lesson is over, a hand pops up.

“So, Dr. Wing, what are you going to create for the university?” the freshman asks.

Gulp. Wing has never received a question like this in her in her 20 years as a Carnegie Mellon computer science professor.

“Hmmmm,” she pauses. And then it comes to her: “I do have a vision that goes beyond these institutional walls. It is a vision for the entire field of computer science. As computing becomes more and more a part of our everyday lives, I believe that to function in modern society, everyone will need to be able to think like a computer scientist. I call this ‘computational thinking.’”

Computational thinking—the words Jeannette Wing first publicly uttered in fall 2005, in response to that freshman’s question—is a way of understanding all the quantum leaps that have happened in society in the past 50 years. The catchy banner term and the idea behind it are the guiding force behind a new Center for Computational Thinking at Carnegie Mellon sponsored by Microsoft. It is bringing together top researchers from universities, industry, and government to solve real-world problems by applying computer science know-how to other fields like physics, economics, and the environment.

So, what makes computational thinking such a breakthrough? At its core, computational thinking is about two things: abstraction and automation.

Abstraction is a way of focusing attention on the relevant details, ignoring the irrelevant.

Automation means getting machines to automatically make sense of the avalanche of data that is characterizing more and more fields of study today. Robert Constable, dean of faculty and information science at Cornell University, says computers are now about four hundred billion times faster at numerical calculation than humans, and they’re getting faster year by year—that’s where automation comes in. For example, some mathematical proofs are so complex that only a computer can verify them.

When the two As—abstraction and automation—are applied to economics, the environment, or any other field, complex problems that were previously unsolvable can be solved. That’s the gist of computational thinking. Wing believes that computational thinking will be a fundamental skill used by everyone in the world within 50 years. It is already changing the world.

Web sites like Amazon.com and eBay use computational thinking in the form of algorithms, which are sets of instructions—think recipes—that make computers perform tasks. The Web sites helped to create a new Web-based economy that trades in billions of dollars through transactions that take seconds, not hours.

Law firms are another example. Document discovery (finding documents relevant to a case) used to require teams of lawyers to look through thousands of pieces of evidence that could make or break a case. Now law firms use document clustering and visualization techniques, based on machine learning and data mining. Documents are electronically scanned, annotated, and shared among lawyers.

Meanwhile, scientists at the Institute for Systems Biology in Seattle and the University of Texas are using computational thinking to distinguish between two similar forms of cancer to help people get the right treatment. Two rare cancers—gastrointestinal stromal tumor (GIST) and leiomyosarcoma (LMS)—have very similar appearances to pathologists, making it difficult to diagnose them correctly. However, distinguishing between the two cancers determines the most effective therapy. People with GIST respond poorly to standard chemotherapy but often experience better results after taking the oral drug Gleevec. LMS patients are just the opposite: They’re resistant to Gleevec but responsive to standard chemotherapy. Scientists have studied differences on a set of samples from GIST and LMS patients by measuring the expressions, or reactions, of all genes in the two types of cancer. The problem could be statistically staggering, owing to the tens of thousands of measurements involved in reading human genes. But scientists make sense of the data with computers—specifically through a computational thinking algorithm that allows a computer to “see” patterns in the data, which helps scientists differentiate the two types of cancers with near-perfect accuracy.

“Such computational approaches are making it possible to find accurate and early diagnostic markers and are ushering in a new era of predictive, preventive, and personalized medicine,” says Ilya Shmulevich, an associate professor at the Institute for Systems Biology who supervised the computational work in that study.

This is just one example. Wing adds that computational thinking offers much more than the ability to sift through mountains of data.

Computational thinking is a way humans solve problems; it is not trying to get humans to think like computers. Computers are dull and boring; humans are clever and imaginative and make computers exciting. Equipped with computing devices, we use our cleverness to tackle problems we would not dare take on before the age of computing and build systems with functionality limited only by our imaginations.

Those words are taken directly from her manifesto on the future of computing. It was a three-page article published in March 2006 in the Communications of the Association for Computing Machinery, a widely read computing journal.

Computational thinking is a fundamental skill for everyone, not just for computer scientists. To reading, writing, and arithmetic, we should add computational thinking to every child’s analytical ability.… Ubiquitous computing was yesterday’s dream that became today’s reality; computational thinking is tomorrow’s reality.

At least 500 congratulatory emails from around the world filled her inbox after the article was published. Pablo Azero, a computer science professor in Bolivia, translated it into Spanish. “It is not easy to find articles that describe so precisely what are the main points of a computer scientist’s way of thinking,” says Azero, who teaches at Universidad Mayor de San Simon in Cochabamba. He also says Wing’s article is important because many computer scientists he encounters in Bolivia underestimate their profession, often seeing themselves as mere technicians.

Perhaps her most noteworthy speech on computational thinking happened two years ago at the 21st Century Computing Conference, hosted by Microsoft Research-Asia at Zhejiang University in Hangzhou, China. The conference hall was filled with hundreds of deans, professors, and students from the Asia Pacific region.

Microsoft subsequently included an excerpt of her speech in its 90-page, highly acclaimed report, Towards 2020 Science. And The Royal Society of London, which is the United Kingdom’s national academy of science, has asked Wing to participate in a symposium next spring, billed as Computers and Ubiquitous Computing.

The momentum is undeniable.

“I think at this point a lot of people believe this concept of computational thinking is valid and has tremendous potential,” says Sailesh Chutani, director and founder of the external research and programs group at Microsoft Research in Redmond, Wash. “The key here would be to really put more meat and substance under the label, if you like. You have to evolve this idea of computational thinking so it is meaningful for a biologist, for an astronomer, for a physicist.”

What does computational thinking mean for each of those sciences? What are the tools and techniques that come with computational thinking? And how will they help each discipline solve a set of problems?

That’s where the Center for Computational Thinking comes in. It will take new approaches to problem solving by putting computing at the core. The center was made possible by a three-year, $1.5 million grant from Microsoft. Chutani is on its steering committee, which determines which projects the center funds. The center exists in the Carnegie Mellon School of Computer Science and has three priorities.

    • PROBEs, or problem-oriented explorations. PROBEs are explorations of finding solutions to problems inspired by the real world. Teams of students and faculty work together to come up with solutions to a specific problem that can then be generalized to solve a problem applicable to a domain possibly different from the one that originally inspired the problem. The first PROBE will be on parallel thinking.



    • MindSwaps: These are annual, one-day events for Carnegie Mellon and Microsoft researchers, students, and faculty to get together and share data resources and collaborate on challenges facing the field of computing. The first MindSwap will be on privacy.



  • In addition, the center will develop and disseminate courses and curricula suitable for graduate and undergraduate students, as well as K–12 classes. The message here: Today’s young people, armed with computational thinking, can solve the big problems of the world that previous generations could not.

The Center for Computational Thinking is moving forward without Wing. Although she is still officially the director of the center, she has taken a leave of absence from Carnegie Mellon to become assistant director for Computer and Information Science and Engineering at the National Science Foundation (the same post that Carnegie Mellon’s Nico Habermann held from 1991 to 1993). In the post, Wing will guide and manage funding for the federal agency, which supports research in computer and information science and engineering. The appointment says a lot about the culture of innovation at Carnegie Mellon.

“It is arguably the most powerful position in the federal government related to computer science,” says Carnegie Mellon President Jared Cohon. “Jeannette is responsible for something like $500 million in funding for computer science. She’ll be a very important voice—maybe the most important voice—when it comes to representing computer science within the government.”

At Carnegie Mellon, it’s evident that computational thinking is embraced across the University. There are 12 degree programs or minors that have the name “computational” in the title, such as computational neuroscience, computational finance, and computational and statistical learning.

And glimpses of the idea in practice are almost everywhere.

“I’ve started to see how I use computing principles in my life more and more,” says Carnegie Mellon computer science lecturer Tom Cortina. He runs a summer workshop called Computer Science for High School (CS4HS) that features ways for high school educators to incorporate computational thinking into their classes.

“Doing laundry, for example, now has ‘pipelining’ written all over it. Or when I go through my bank statements at home and need to organize them, I immediately think about the best sort to use so I can get the work done quickly. The list goes on and on. What I see is that everyone can use these ideas to improve their lives, not just computer scientists.”

Jonathan Szish is a freelance writer and former award-winning newspaper reporter.