« The Contrarian Solution for Iran | Main | New From AT&T: Family Visit Plans »

Computational Thinking

When Jon Udell interviewed Phil Libin, on IT Conversations, Libin said that in the future people will have to understand asymmetric encryption in order to function in the world. At first I was incredulous—that seems like a pretty esoteric concept to force on everyone. But then he said this: when Adam Smith first put forth idea of free markets, the notion that most adults would have an intuitive understanding of the concept seemed equally ludicrous, but in fact around 80% of U.S. adults do.

Why understand encryption? Because it affects your life in multiple ways. People who understand encryption can make informed decisions about how secure their ATM or voting system might or might not be, or whether they should trust a particular online banking site. People lose money every day because they don’t have a basic understanding of encryption.

Understanding encryption is just one aspect of what we might call “computational thinking.” Last month I attended Jeanette Wing’s Organick Memorial Lecture at the University of Utah on that very subject. Wing, the head of Carnegie Mellon University’s School of Computing believes that computational thinking will be a fundamental skill, like reading, writing, and arithmetic, in the 21st century. Coincidentally, Jon just finished interviewing Wing for IT Conversations. I posted the show last week.

Computational thinking isn’t thinking like a computer, rather it involves an understanding about how computer scientists think and solve problems. The reason that computers are used in almost every discipline is that the techniques that computer scientists use to solve problems are universally relevant. At its heart, computer science deals with how difficult problems are to solve, how to think about and manage problems, and how to create procedures for solving them.

Computational thinking involves thinking recursively, thinking abstractly, thinking ahead, thinking procedurally, thinking logically, and thinking concurrently. In Wing’s words: “computational thinking is taking an approach to solving problems, designing systems, and understanding human behavior that draws on concepts fundamental to computer science.”

To underscore the importance of these ideas in general education, Wing pointed to the influence that computational techniques are having on disciplines of all sorts—not just science and engineering—but fields as diverse as sociology and the law. Just as math and good writing are a key skills that affect almost all disciplines, so is computation. As a result, computational thinking isn’t just for scientists and engineers. Computational thinking is a fundamental skill—one that every human being needs to understand to function in modern society.

I believe that Computer Science, like English or Mathematics is a good undergraduate degree for people going into almost any profession because the techniques have such broad applicability. More parents should encourage their college bound children to consider Computer Science.

More importantly, I think we need to do a better job of teaching computational thinking in grades K-12. Many of these concepts can be learned and understood without a computer at all. Computational thinking is conceptualizing, not programming. Every day activities provide plenty of examples. Computational thinking has almost nothing to do with how to use a word processor or spreadsheet—the current mainstay of computer courses in our schools.

Moving computational thinking out of our Computer Science departments and into the broader classroom will require that Computer Science professors look beyond their own parochial needs and interests. I think it also requires school administrators to put into place the organizational models that encourage and support these outreach efforts. Ultimately, however, this is the road to the real influence computational thinking needs and deserves.

Posted by windley on June 18, 2007 2:05 PM

See related posts:

7 Comments

Comment from Robert at June 18, 2007 7:24 PM

I had to take issue with you right from the get go. Most people *don't* understand free markets. When Hillary want to "take corporate profits" and people applaud then I tend to think people don't understand free markets. When the US government leaves new business to the international wind and shelters established businesses, then the country as a whole doesn't understand free markets.

Comment from Randy Gordon at June 18, 2007 7:53 PM

Aw comon Phil, Wing just dusted off a 1945 copy of Polya's "How to solve it" and added buzzwords.


http://press.princeton.edu/titles/669.html


It was the best book I ever read, 44 years ago, and it still is today.


But it IS a best seller, and has been for decades, and most professional grade school math teachers have heard of it and use it in their teaching.


The problem is, solving problems is no longer of interest to most students;our heroes are the spinmasters, not the thinkers.


From our earliest exposure to slick media childrens shows, to the last set of presidential debates (both parties), there is only spin and "words that work"; how can you possibly expect someone growing up in this society to value carefully thinking things through?


A few weeks ago, I offered to set up (for free) a website to host an "academic bowl" style debate on the elections to our school boards and local media. It was a standard debating format, each team would invent a presidential candidate candidate and then have that candidate debate against the other teams presidential candidate.


They didn't go for it, not because they didn't think it was a good idea, they did. They were too scared of the possible conroversy.


Several thousand years ago, at the literal dawn of history, Socrates was forced to take poison because he corrupted the youth of Athens by teaching them to think and examine ideas. The situation has not gotten a whole lot better since then.


We have known about what Wing calls "computational thinking" since the first beginnings of our civilization, what do you think Aristotle was going on about with all his blatherings about logic?


It is easy enough to learn, Logic for Dummies http://www.amazon.com/Logic-Dummies-Math-Science/dp/0471799416 teaches the basics of logic and proof a third grade student could handle.

Wanna bet most college students, even computer science majors, could not even begin to solve the problems in the first few chapters?

It isn't that we don't, or can't teach clear thinking, it is just that nobody wants to hear it.

Comment from Randy Gordon at June 18, 2007 7:53 PM

Aw comon Phil, Wing just dusted off a 1945 copy of Polya's "How to solve it" and added buzzwords.


http://press.princeton.edu/titles/669.html


It was the best book I ever read, 44 years ago, and it still is today.


But it IS a best seller, and has been for decades, and most professional grade school math teachers have heard of it and use it in their teaching.


The problem is, solving problems is no longer of interest to most students;our heroes are the spinmasters, not the thinkers.


From our earliest exposure to slick media childrens shows, to the last set of presidential debates (both parties), there is only spin and "words that work"; how can you possibly expect someone growing up in this society to value carefully thinking things through?


A few weeks ago, I offered to set up (for free) a website to host an "academic bowl" style debate on the elections to our school boards and local media. It was a standard debating format, each team would invent a presidential candidate candidate and then have that candidate debate against the other teams presidential candidate.


They didn't go for it, not because they didn't think it was a good idea, they did. They were too scared of the possible conroversy.


Several thousand years ago, at the literal dawn of history, Socrates was forced to take poison because he corrupted the youth of Athens by teaching them to think and examine ideas. The situation has not gotten a whole lot better since then.


We have known about what Wing calls "computational thinking" since the first beginnings of our civilization, what do you think Aristotle was going on about with all his blatherings about logic?


It is easy enough to learn, Logic for Dummies http://www.amazon.com/Logic-Dummies-Math-Science/dp/0471799416 teaches the basics of logic and proof a third grade student could handle.

Wanna bet most college students, even computer science majors, could not even begin to solve the problems in the first few chapters?

It isn't that we don't, or can't teach clear thinking, it is just that nobody wants to hear it.

Polya's book is a classic, but I think that computation thinking is much more than just that. No where in Polya, for example, does the subject of caching come up, as far as I can remember. Polya is about logic, not process. Logic is an important component, but doesn't touch on any of the process issues inherent in computational thinking.

Comment from Randy Gordon at June 19, 2007 2:47 PM

Depends on what you mean by process, I guess.

To me, and to most logicians, process is just logic with a temporal dimension (i.e. start, stop, and events happening inbetween).

I suspect that is not how you are using the word.

If you are thinking of the process of thinking about problems, Polya most certainly does address that, and in almost identical terms to those mentioned in the article http://www.math.utah.edu/~pa/math/polya.html (University of Utah, none the less!)

Could you possible elaborate a bit more on your caching example? To me, Caching is a pattern, and using patterns is referenced in part 2 of the UofU link above.

On the other hand, if you view caching as optimization under constraint satisfaction, as logicians do, then it is nothing more than Ramon Lull's constraint propogation "generate and test", method, which again, is simply commentary on part 2 of Polya's heuristics.

Comment from william at June 19, 2007 3:16 PM

"People who understand encryption can make informed decisions about" ... whether or not to leave comments on someone's blog when an untrusted SSL certificate error pops up. :)

To put "Computational Thinking" in proper perspective, it is an after the fact term.

We don't think like computers, computer think in terms of a narrow subset of how we think. These constraints of this subset came about as a result of electronics and applying bit flipping logic.

Mathematics is similiar, as it is constrained down to a "count".

You can use a computer program based on logic to create illogical representation or expressions, but only when the logic is disconnected, used as a carrier wave like a radio signal that doesn't care about what information it is carrying.

Supposedly you can describe anything in terms of a mathematical calculation. But that is a hindsight process of making a square peg fit a round hole. Rounding the corners of a mathematical equasion until it fits well enough.

As a side effect result the development of computers we have refined logic to depths deeper than most people would put the energy in to mentally do themselves, And we probably got their little by little, filling in deeper levels of logic.

What Wing is proposing is that we learn how better to think logical based opon what we have uncovered in the depths of our logic discoveries. Short cuts if you will. Like memorizing the times "x" tables, regardless of how well you understand the underlying knowhow. Though of course its better to understand the underlying knowhow than to be a trivia expert from memory.

With this in mind, Wing is right in that there is certainly something there to be teaching students no matter how young, and about fundamental issues regarding problem solving and thinking. However it amazes me that someone with her educational credentials is pursuing a trivia mentality of what to teach rather than getting down to the knowhow that inherently explains the why.

Computer are tools, extensions of man, just as the field of computer science is secondary to human thought processes. Should it be any wonder that there appears to be as cross field, cross industry, etc. commonality in the human thinking
process? So what existed before we developed computers?

Unavoidable Abstraction Physics! (click on my name for a link)

Leave a comment

I encourage you to leave a comment below. Your email address will not be displayed on Technometria, but allows me to communicate with you directly. Your email address won't be displayed, but will be used to compute a MicroID for your comment.