"...But Nobody To Know What It Is"
I received an announcement yesterday for a graduate student consortium at VL/HCC’08 on “Expanding the Benefits of Computational Thinking to Diverse Populations”. The goal is worthy:
...people are increasingly relying on computing and information systems for leisure and home activities...it is no longer sufficient to consume the packaged software and scripted tasks developed by the professional software industry---many people now must produce their own computational solutions to a wide variety of problems, including spreadsheet models, web sites, educational media and simulations, automated business procedures, and scientific visualizations...Studies suggest that [such] end-user programmers outnumber professional programmers by more than four to one...Unfortunately, current advances toward computational thinking by end users are not evenly distributed across all segments of the population. Our society is rapidly evolving into two distinct classes: the "computation haves" and the "computation have-nots." This class distinction becomes an obvious barrier to the opportunities for the "have-nots" to advance in terms of career and influence, both individually and in groups. One reason for this divide is that very little information technology research is aimed specifically at the needs of disadvantaged users. Furthermore, there is virtually no research directed at computational problem-solving and information manipulation by users in these groups.
However, I’m increasingly impatient with the term “computational thinking”. Jeannette Wing’s original paper drew a lot of support, but I suspect that’s because everyone is adopting the phrase to mean “whatever I was interested in anyway”. In one of the breakout sessions at a workshop at Microsoft last September, for example, six of us tried to operationalize its meaning by coming up with quiz questions to determine if someone could think computationally or not. It quickly became clear that we variously meant “can write simple programs”, “can use desktop productivity tools effectively”, “knows how the Internet works”, “can break large problems down into smaller pieces”, and so on.
I’d therefore like to bring that challenge to a wider audience. Rather than defining “computational thinking”, I’d like you to give me an example of a question that someone could only answer if they were able to do it. First prize is, well, until I have better luck with grants you’ll have to settle for my undying appreciation, but I’d be happy to buy you a beer as well.