The theme of the May CSTA Voice is “Computational Thinking.” As I thought about what to include in this upcoming issue and reviewed some of the past CT work by people such as Jeannette Wing and Joan Peckham, as well Valerie Barr who leads the CSTA Computational Thinking Task Force, I realized that a lot has changed in the past four years during which I have been thinking about CT.
There are new analogies for trying to conceptualize CT, new reasons for its value, new strategies for including CT into course curriculum, and new ideas for engaging the teachers of other disciplines in our schools in the task of including CT in their classroom activities. A lot of attention is now being paid to CT in universities and professional computer science organizations. I don’t think CT is going away and I think as CS & IT professionals we ought to be informed to a level that we can talk about CT with our peers and make sound decisions about why and how to include CT strategies in our teaching strategies.
The missing piece in my plan for the May CSTA Voice is:
What do you, CSTA members, need and want to know about CT that will enable you to better prepare your students for the intellectual realities of their lives, and to help your colleagues better understand (and ultimately incorporate) CT into their classroom lessons across diverse subject areas.
Do you have questions about CT that I can call upon experts to help answer?
Are you curious about how CT will impact CS & IT courses?
Is CT a new topic for you and do you need a basic CT lesson?
Have colleagues asked you about CT and do you need essential details that you can share to help them better understand the concept?
What do you want to learn about in the May issue of the CSTA Voice?
Please let me know. Let me see what I can find to help us better understand computational thinking.
Editor, CSTA Voice
The Algorithms and Linguistics page (http://www.education.rec.ri.cmu.edu/fire/naclo/) on The FIRE Project website is a site that introduces younger students to computer science and linguistics. Rather than focusing on programming, the website focuses on algorithmic thinking and problem-solving to engage students in computational thinking.
The goal is create unplugged materials, or problems solvable with pencil and paper, where students can practice using computer science and linguistics concepts.
Currently on the website there are algorithms and linguistics problems of varying difficulties so that a range of age groups can enjoy them.
The Algorithms and Linguistics Team
I went to see the most delightful talk this week, given by a graduate student. Like many academic talks, the speaker outlined a problem, described similar research and attempts at solutions, which have all failed, then argued for a new solution that he has done research on. The format, obviously, is not what was delightful, instead it was two other features of the talk.
First, the problem: “The dirty dish dilemma.” Our young grad student has lived for many years in communal houses. The policy is “clean your own dishes.” But sometimes dishes get left in the sink! Like the broken windows theory of crime, soon it snowballs into a sink full of dirty dishes and a lot of unhappy housemates.
When was the last time you went to a talk about something you actually found entertaining? This is so much better than the problem of writing across the curriculum or differentiated instruction! (And truly, I think life at most schools would be more improved by 30 minutes on solving the dirty dishes in the staff room sink than by 30 minutes on curricular reform.)
The second delightful part was his research method. It would be hard to go out to lots of communal houses, try different solutions, see which ones worked and then test the “working” solutions at other houses to make sure they really work. But it is easy to download NetLogo and create a model of dirty dishes, including the people who wash and dirty the dishes. And it’s very easy to modify the model once you create it – varying how slobbish the people are, trying different solutions, adding or removing constraints (like when Mom gets fed up and yells and all the dishes get washed at once). It was the most realistic example of the use of computational thinking I’ve seen, and at no time in the talk did the speaker use the phrase computational thinking, nor did he even appear to know that’s what he was doing.
Incidentally, the solution is to change the policy to one of small altruism. Instead of “do your own dishes” the policy should be “do your own dishes plus one other dish“. Then no one gets stuck having to clean up after everyone else just because their prep period is right after lunch.
In the March 2006 issue of the Communications of the ACM, Jeannette Wing generated a significant response with her article on Computational Thinking. One of the significant impacts of this article was placing the phrase “Computational Thinking” into the common language (at least of academics). Reading through the article, it seems to me that Wing never directly defines this term. Having heard her give a couple of talks on her article, however, I have seen her give an actual definition of Computational Thinking. Paraphrasing from her slides, Wing has defined Computational Thinking as the process of abstraction. (Wing provides several engineering aspects of the term, but I think that “the process of abstraction” is what Wing intends Computational Thinking to be.)
As a computer scientist, this was an acceptable definition for me. While having lunch the other day with an engineer and a biologist, I shared this definition with them. Both of them hated this definition, feeling that it was too “computer science-y” of a definition, and not one off of which they could work.
Since Computational Thinking in K-12 should probably apply to other STEM (Science, Technology, Engineering, and Mathematics) disciplines, and probably to all other disciplines, any reasonable definition of Computational Thinking needs to appeal to faculty in other disciplines. I haven’t yet come up with a satisfactory external definition of Computational Thinking, and wanted to get others’ thoughts of a definition, one that will at least appeal to biologists, and engineers (and hopefully teachers in other disciplines as well)….