practices and making sure not only that the data are correct but also that the programs are correct.” To underscore this point, Aho cited an article in Nature about bad software in computational science.1
Third, Aho suggested that computational thinking plays an important role in developing new and improved ways of creating, understanding, and manipulating representations—representations that can change, sometimes dramatically, the way in which people see problems.
Humanization of Computational Thinking
Aho observed that a number of workshop participants pointed to the humanizing effect of computational thinking. Recalling Idit Caperton’s thoughts that using information technology in an appropriate manner “engages people, engages their souls, their passion, and their productivity, and people care,” Aho described similar experiences in working with undergraduates. He found that using creative programming projects to hone and develop computational thinking skills motivated students to pursue further education in computer science. Aho described classes in which students work in small teams to create their own innovative programming language and then to build a compiler for it, and he reported that “often the students say the most important things that they learned from this course are not principles of programming languages or compiler design but the interactions that they had with the other students and the fun they had in doing the projects.”
Aho also suggested that this kind of response to the use of technology was an effective rebuttal to those who argue that computers and information technology are dehumanizing, as illustrated by Jaron Lanier’s arguments in You Are Not a Gadget.
Computational Thinking as a Moving Target
Aho acknowledged the community’s need for a common definition of computational thinking, development of which is inherently difficult given the rapidly changing world to which computational thinking is often applied. Any static definition of computational thinking would likely be obsolete 10 or 20 years for now, he argued, and thus, ”The real challenge for the entire community is to define computational thinking and also to keep it current.”
With that thought in mind, Aho stated that he was particularly taken
1 Zeeya Merali, 2010, “Computational Science: … Error: … Why Scientific Programming Does Not Compute,” Nature 467(7317):775-777. Available at http://www.nature.com/news/2010/101013/full/467775a.html.