A Definition of Computational Thinking from Jeannette Wing
March 22, 2011 at 6:50 am 7 comments
I met with Jeannette Wing yesterday, and we discussed the need for a good, authoritative definition of computational thinking. I told her about the CE21 Community Meeting where I saw K-12 evaluators looking for a definition that they could use to develop an assessment of computational thinking at the middle school level. Some of these evaluators were using the CS:Principles materials which made me uncomfortable — we designed those principles and practices to reflect what we saw as the core of computer science and as being appropriate for an advanced placement course. We didn’t write these to be a guide to what middle school students need to know about how to think about and with computing.
She gave me a copy of the most recent The Link, a CMU publication, in which she has an article, “Computational Thinking — What and Why?” She offers a definition and a rationale for the definition, taken from a work-in-progress paper by Jan Cuny, Larry Snyder, and Jeannette, “Demystifing Computational Thinking for Non-Computer Scientists.” She gave me permission to blog on the definition and the rationale.
Computational thinking is the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can effectively be carried out by an information-processing agent.
The article goes on to expand on this definition and offer examples. She says, “Computational thinking overlaps with logical thinking and systems thinking. It includes algorithmic thinking and parallel thinking, which in turn engage other kinds of thought processes, such as compositional reasoning, pattern matching, procedure thinking, and recursive thinking.” Jeannette pointed to a section of the paper on “Benefits of Computational Thinking” as being key:
Computational thinking enables you to bend computation to your needs. It is becoming the new literacy of the 21st century. Why should everyone learn a little computational thinking? Cuny, Snyder and I advocate these benefits [CunySnyderWing10]:
Computational thinking for everyone means being able to:
- Understand which aspects of a problem are amenable to computation,
- Evaluate the match between computational tools and techniques and a problem,
- Understand the limitations and power of computational tools and techniques,
- Apply or adapt a computational tool or technique to a new use,
- Recognize an opportunity to use computation in a new way, and
- Apply computational strategies such divide and conquer in any domain.
Computational thinking for scientists, engineers, and other professionals further means being able to:
- Apply new computational methods to their problems,
- Reformulate problems to be amenable to computational strategies,
- Discover new science through analysis of large data,
- Ask new questions that were not thought of or dared to ask because of scale, but which are easily addressed computationally, and
- Explain problems and solutions in computational terms.
This definition is still pretty high-level, but is still much better than having no definition. It’s a broad definition that encompasses a lot of powerful cognitive skills. We can move away from trying to draw lines between what is and what isn’t computational thinking, and instead focus on implications. What parts of this are appropriate to see at the middle school level? How do we teach these abilities? How would we measure them?
Entry filed under: Uncategorized. Tags: computational thinking, NSF, public policy.
1. iTec | Defining computational thinking | March 22, 2011 at 12:13 pm
[...] March 2011 06:08 Mark Guzdial's travels to CMU this week have produced another must-read blog post: http://computinged.wordpress.com/2011/03/22/a-definition-of-computational-thinking-from-jeanette-win… In it, he discusses the definition of computational thinking that Jeanette Wing and her [...]
2.
Gail | March 23, 2011 at 2:37 pm
I made one of my objectives for my revamped “Introduction to Computers for Arts and Social Sciences” class to practice computational thinking. I feel like I am much better prepared to explain what that is and why it matters thanks to this. Glad you posted about it!
3.
gasstationwithoutpumps | March 27, 2011 at 12:39 pm
The CS Principles course looked a lot like a middle-school or early high-school class to me. It did not look like it had the level or intensity of other AP courses.
4.
gasstationwithoutpumps | March 27, 2011 at 1:12 pm
I posted on Jeannette Wing’s definition also:
http://gasstationwithoutpumps.wordpress.com/2011/03/27/computational-thinking/
5.
Sometimes, Education is not about making it easier « Computing Education Blog | May 6, 2011 at 9:58 am
[...] on having their students write code. They explicitly wanted their Physics students to deal with “computational thinking” (their term, which may mean something different than others). So, the team created a nice set of objects, rather than the umpteen functions that students had to [...]
6.
Instruction makes student attitudes on computational modeling worse: Caballero thesis part 3 « Computing Education Blog | August 2, 2011 at 10:15 am
[...] attitudes towards computational modeling in those disciplines, too. I’ll bet that this is a useful starting place for many folks interested in measuring computational thinking, [...]
7. A Definition of Computational Thinking from Jeannette Wing « Computing Education Blog « The Fargo XO / Sugar Project | September 7, 2011 at 10:27 pm
[...] via A Definition of Computational Thinking from Jeannette Wing « Computing Education Blog. [...]