In the last Research Hub entry (29 Sept 2023) I experimented with ChatGPT, asking targeted WPR questions. I concluded that the chatbot did not perform well in terms of understanding the theory underpinning WPR and that it could only summarize existing material and that to which it was explicitly directed. None of this should come as a surprise. As King (2023: 105) relates, as long ago as the 1830s, Ada Lovelace explained that Charles Babbage’s Analytic Engine – widely regarded as the world’s first computer – “has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform”.
While this limitation may be widely recognized, in another development, the benefits and learning outcomes associated with using computers are increasingly lauded. The term “Computational Thinking” (CT) is becoming prevalent in educational curricula and in associated testing regimes, as a shorthand for those benefits. PISA’s 2021 ICT Framework (OECD 2019: 3.2.2 para 63) recognizes “computational thinking” as an ICT competency within the mathematics curriculum:
“In this context, computational thinking refers to formulating problems and designing their solutions in a form that can be executed by or with a computer (Cuny, Snyder and Wing 2010).” (OECD 2019: 6.1.1 para 168; emphasis added).
The literature on CT (Computational Thinking) is voluminous and repeats some common themes: first, that CT refers to the thought processes stimulated by working with computers; and second, that those thought processes represent a valuable way of thinking that students need to absorb due to our increasingly digitalized world.
In this entry I raise questions about CT as a recommended thinking style, emphasizing how it relies upon and operates through a problem-solving analytic that presumes “problems” as pre-existing entities. The argument proceeds through several stages. First, I present common claims concerning the educational benefits of CT. Next, I raise some of the useful criticisms that have been developed. Finally, I make the case that CT operates within a problem-solving framework that sets the terms of reference for its operation, a framework that imposes severe limitations on CT as a way of thinking.
What CT claims to offer
Lodi and Martini (2021) offer a useful introduction to the history of “computational thinking” (see also Tedre and Denning 2016). They trace the emergence of the field of computing as an autonomous discipline to the end of the 1950s and the early 1960s. The contributions of two researchers, Seymour Papert and Jeannette Wing, to current thinking on the topic are highlighted.
The expression “Computational Thinking” (CT) was used for the first time by Papert in 1980 (Lodi and Martini 2021: 884). For Papert, CT is the result of his constructivistapproach to education, “where social and affective dimensions are as important as the technical content” (Lodi and Martini 2021: 884). Wing (2006) revived the term CT in a much-quoted 2006 paper. For Wing CT is the result of teaching Computer Science. She (2010) makes the case that learning to think like a computer scientist would be a benefit for everyone, in whatever profession involved.
Following Wing’s intervention, initiatives to bring computer science into all levels of K-12 education were introduced in many countries. Wing (2010: 4-5) produces a long list of courses and programs in CT in American and UK professional organizations, government, academia, and industry. This growth, it should be noted, is not replicated in the Global South (Belmar 2022).
Proposals to teach CT emphasize that training in computer science produces a cluster of “skills” or “mental strategies” “useful to solve problems” (Lodi and Martini 2021: 896). The most commonly listed “skills” include: abstraction, decomposition, pattern generalisation, debugging and algorithm design. There is an occasional mention of “critical thinking”, though what is meant by the term is not elaborated (Shute et al. 2017).
In the growth and proliferation of interest in CT a major issue concerns whether or not the “mental strategies” associated with computer use automatically transfer to other disciplines. According to Lodi and Martini (2021: 884; emphasis in original), both Papert’s and Wing’s CT “come (or seem to come) with the idea that the competencies acquired as CT will easily (or even automatically) transfer to other disciplines”. And, they argue, this “largely unverified” assertion about the transferability of intellectual skills, in both Papert and Wing, helps to explain the wide appeal of CT (Lodi and Martini 2021: 884).
It is important to recognize the distinctiveness of Papert’s (1980) understanding of CT. As Lodi and Martini (2021: 900) explain, transfer, in Papert, “is something that does not happen automatically, and needs an active and deliberate effort”. Links can be drawn between this 1980s iteration of CT and a “student-friendly” version of problem-solving, associated with John Dewey and with cognitive constructivism (Bacchi 2020). For Papert, “only a social and affective involvement of the student in constructing a (computational) artifact will make programming an interdisciplinary tool for learning (also) other disciplines” (Lodi and Martini 202: 883). Wing (2010: 5), by contrast, makes a straightforward claim that “The educational benefits of being able to think computationally transfer to any domain by enhancing and reinforcing intellectual skills”.
Among those intellectual skills that will (it is argued) be transferred, Wing emphasizes the importance of abstraction. According to Wing (2010: 1), the “abstraction process” is the “most important and high-level thought process in computational thinking”. In abstraction the focus is only on the important information, ignoring irrelevant details: “It is used to capture essential properties common to a set of objects while hiding irrelevant distinctions among them”.
The OECD’s PILA (Platform for Innovative Learning Assessments) Computational Problem Solving Module specifies the “many levels of abstraction” that CT includes:
“Using computation to solve problems requires the ability to think in a certain way, which is often referred to as ‘computational thinking’. The term originally referred to the capacity to formulate problems as a defined set of inputs (or rules) producing a defined set of outputs. Today, computational thinking has been expanded to include thinking with many levels of abstraction (e.g., reducing complexity by removing unnecessary information), simplifying problems by decomposing them into parts and identifying repeated patterns, and examining how well a solution scales across problems.” (OECD 2021; emphasis added)
The importance of training students to develop skills in computational problem-solving is sheeted home to the demands of the labour market:
“Computers and the technologies they enable play an increasingly central role in jobs and everyday life. Being able to use computers to solve problems is thus an important competence for students to develop in order to thrive in today’s digital world” (OECD 2021; emphasis added)
The need to be able to use computers is not in dispute. The suggestion that problems ought to be formulated in ways computers can solve and that this task involves simplification and decomposition, however, raises issues that need to be considered.
What critics bring to our attention
It is difficult to locate critical analyses of CT. The vast majority of articles express enthusiasm about the development of computer skills and “computational thinking”. For example, Ogegbo and Ramnarain (2022: 203) state that “CT is acclaimed as an approach to teaching the essential 21st-century skill set that every student requires to thrive in the changing world”. Belmar (2022: 1) describes computational thinking as “the fundamental skill for scientific, technological, and economic development for the twenty-first century”. He acknowledges, however, that “this diagnosis that is unveiled in rich countries remains nebulous for poor countries”.
Kafai et al. (2020) identify three theoretical approaches to CT: cognitive CT, situated CT and critical CT. Critical CT “proposes an analytical approach to the values, practices, and infrastructure underlying computation”, reminding us that “computing is not an unequivocal social good”. In his thought-provoking commentary on technological/digital innovation King (2023: 105, 108) expresses concern about the way in which computational thinking comes to mean (simply) the sorting of “information”, and how a “computational theory of mind” overlooks the contextual and the social (King 2023: 105, 108).
Williamson’s (2016: 42) work on the place of “learning to code” in the UK K-12 curriculum draws upon a governmentality perspective to highlight the influence of “networks between governmental, civil society and commercial actors”. A particular focus is the subjectification effects of proposals to include “learning to code” in K-12 curricula. Says Williamson, through such programs, CT shapes students’ digital subjectivities, preparing them as:
“the ideal participants for the ‘digital governance’ of the reluctant state, as citizens with the technical skills, computational thinking and solutionist mindsets to ‘hack’ solutions to problems of contemporary governance on behalf of the government.” (Williamson 2016: 54)
Importantly Williamson describes CT as a “way of thinking” or a “style of thinking” that extends beyond the classroom. He characterizes this way of thinking as politicalcomputational thinking:
“Political computational thinking is a style of thought, then, that aims to translate social phenomena into computational models that can then be solved by being formalized as step-by-step algorithmic procedures that can be computed as proxies for human judgment or action.” (Williamson 2016: 40; emphasis added)
This general style of governing “takes technological change as the model for political innovation” (Barry 2001: 2 in Williamson 2016: 40).
In Williamson’s account, the downsides of approaching governing through CT, with its simplifying practices of abstraction and decontextualization, are stark. The focus shifts from people’s lives to things that can be measured and tabulated. As one contemporary example illustrating this point, in the recent robo-debt tragedy in Australia, the decision to use income averaging to identify those with welfare debts ignored the fact that the targeted population frequently did not work standard full-time hours (Whiteford 2023). As Williamson (2016: 54) concludes:
“This emerging solutionist state is one in which political computational thinking, based on a technocratic logic that all social phenomena can be formalized into computable models, has become the main governmental style of thought”.
The missing link: problem-solving
To understand what is going on with CT both as an educational innovation and as a style of governmental thinking requires attention to the underlying premise of these approaches: that living and governing rely on problem-solving. Even our most astute critics of CT appear to bypass the way in which a CT style of thinking and governing starts from the premise that there are problems, pure and simple, that need to be solved. Despite his careful reflections on the constitutive role that technology plays in human affairs, King (2023: 63, 104) is happy to claim that human beings are “problem-solving creatures, after all”.
Williamson highlights the importance of thinking about “styles of thought” in governing. He elaborates that “styles of thinking” can be characterized as “particular ways of thinking, practicing, making explanations, conceptualizing problems and proposing solutions in a given professional or disciplinary community” (Williamson 2016: 40; emphasis added). I have italicized the words “conceptualizing problems” because it is this aspect of CT that, in my view, goes underexamined.
The literature on CT tends to portray its role as a “problem-solving approach” as simple common-sense. The intrinsic connection between CT and problem-solving appears in the definition offered at the beginning of this entry and repeated here: “In this context, computational thinking refers to formulating problems and designing their solutions in a form that can be executed by or with a computer (Cuny, Snyder and Wing 2010).” (OECD 2019: 6.1.1 para 168; emphasis added). Even Papert, who ought to be acknowledged as pioneering in his questioning of the ways in which computers are conventionally used for drill and practice, still worked within a problem-solving mindset. With Faurzeig, he (2011: 490) describes how the “activity of programming” “fosters an experimental approach to solving problems”. In the dominant iteration, associated with Wing (2010: 1), computational thinking “describes the mental activity in formulating a problem to admit a computational solution”.
On the one hand the reference to “formulating problems” appears to endorse a more open-ended meaning of “problem” – since “problems” can be made (formulated). However, the fact that formulation depends on a single criterion, to make the “problem” amenable to computer analysis, imposes severe constraints on what is considered to be relevant. No space exists to interrogate “problems” in terms of underlying presuppositions, genealogy or effects (Bacchi 2009).
Moreover, the “five basic concepts” needed to produce computational thinking as a “viable problem-solving approach” all refer to problems simply as existing states or conditions:
- Decomposition – This involves breaking down a complex task into smaller, and more manageable components [commonly described as “problem decomposition”, Grover and Pea 2013: 2);
- Recognition of pattern – This involves identifying and defining trends or patterns within a problem;
- Abstraction, which involves identification of particular similarities and differences between comparable problems to work towards a solution;
- Algorithm design, which involves the development of step-by-step guidelines for solving a problem and can be used again to answer similar problems; and
- Automation, which involves the use of technological tools to mechanise problem solutions. (Ogegbo and Ramnarain 2022: 204-205).
I have italized terms in this description that indicate how each designated CT “concept” relates to and depends upon a conception of “problems” as pre-existent and waiting to be addressed/solved.
Some might want to make the case that the emphasis in CT on mathematical-type problems means that analyses of their underlying presuppositions, genealogy and effects, are simply irrelevant because (after all) mathematical problems are pretty clear-cut. However, even within mathematics, there is dispute about the very nature of problem-solving and the meaning of “problems” (Bacchi 2020: 85). Moreover, Wing (2010: 1; emphasis added) argues that CT targets not just “mathematically well-defined problems” but also “real-world problems”:
“When I use the term computational thinking, my interpretation of the words “problem” and “solution” is broad; in particular, I mean not just mathematically well-defined problems whose solutions are completely analysable, e.g., a proof, an algorithm, or a program, but also real-world problems whose solutions might be in the form of large, complex software systems. Thus, computational thinking overlaps with logical thinking and systems thinking.”
It follows that, despite the emphasis on problem formulation, in CT, problems, whether mathematical or “real-world”, are conceptualized as pre-existing states or conditions. They exist out there somewhere in the world to be found and decomposed “into as many parts as may be necessary for finding the solution” (Derrida 1967/1978: 287 in St Pierre and Jackson 2014: 715).
None of this is really surprising given the ubiquity of the problem-solving paradigm, which dominates the intellectual and policy landscape. Elsewhere (Bacchi 2020) I describe the prevalence of problem-solving knowledge across a wide array of disciplines and in everyday usage in contemporary western societies and international organizations. Problem-solving knowledge is used in the French sense of savoir as a form of background knowledge or “truth” discourse. I describe how the presumption of pre-existing “problems” in problem-solving knowledge removes from consideration how “problems” are produced and represented, limiting political debate and regulating political subjects.
Usefully, Williamson (2016: 54) alerts us to the ways in which political computational thinking produces a “solutionist mindset” and a “solutionist state” – “a technocratic logic that all social phenomena can be formalized into computable models”. Troeger et al. (2023: 95) note that the software development process is often subject to a problem-solving paradigm. The literature on software development and design assumes that there “are” problems that can be identified and understood.
To step outside a “solutionist mindset” requires challenging the presumption of pre-existing problems. To this end I recommend bringing WPR into the picture – into classrooms, into board rooms, into parliamentary committees. WPR postulates a contrasting and contesting “style of thinking”. It alerts us to the depoliticizing effects produced by treating “problems” as if they simply exist waiting to be solved. To think critically about CT requires challenging the problem-solving knowledge it relies upon and promotes. Perish the thought that we should all end up “thinking” like ChatGPT!
[Guide to usage: Readers may have noticed some unevenness in my use of quotation marks around problems. I exclude quotation marks when the term is used in relation to a perspective that accepts problems as pre-existing entities. I have also adopted the use of a hyphen in problem-solving whether it operates as a noun or as an adjective. I have done so to signal that, in its pervasiveness, problem-solving knowledge operates as an event, in the Foucauldian sense, “the interweaving of relations of power and domination” (Tamboukou, 1999: p. 207): “Events are not simply bits of data; they need to be analyzed in terms of the practices that give rise to them” (Bacchi & Goodwin, 2016: p. 46). The hyphen in “problem-solving” is excluded when the term so appears in other publications.]
References
Bacchi, C. 2020. Problem-Solving as a Governing Knowledge: “Skills”-Testing in PISA and PIAAC. Open Journal of Political Science, 10, 82-105.
Bacchi, C. 2009. Analysing Policy: What’s the problem represented to be? Pearson Education, Frenchs Forest.
Bacchi, C. and Goodwin, S. 2016. Poststructural Policy Analysis: A Guide to Practice. NY: Palgrave Macmillan.
Barry, A. 2001. Political Machines: Governing a Technological Society. London: Athlone Press.
Belmar, H. 2022. Review on the teaching of programming and computational thinking in the world. Frontiers in Computer Science, DOI 10.3389/fcomp.2022.997222
Cuny, J., Snyder, L. and Wing, J. 2010. Demystifying computational thinking for non-computer scientists. https://www.cs.cmu.edu/~CompThink/resources/TheLinkWing.pdf
Derrida, J. 1978. Writing and difference (A. Bass, Trans.). Chicago, IL: The University of Chicago Press. (Original work published 1967)
Feurzeig, W. and Papert, S. A. 2011. Programming-languages as a conceptual framework for teaching mathematics. Interactive Learning Environments, 19(5): 487-501.
Grover, S. and Pea, R. D. 2013. Computational Thinking in K-12: A Review of the State of the Field. Educational Researcher, 1-6. DOI: 10.3102/0013189X12463051
Kafai, Y. B., Proctor, C., & Lui, D. 2020. From theory bias to theory dialogue: Embracing cognitive, situated,
and critical framings of computational thinking in K-12 CS education. ACM Inroads, 11(1), 44–53. https://doi.org/10.1145/3381887.
Lodi, M. and Martini, S. 2021. Computational Thinking, Between Papert and Wing. Society & Education, 30: 883-908. https://doi.org/10.1007/s11191-021-00202-5
OECD 2019. PISA 2021 ICT Framework. OECD 2019.
OECD 2021. PILA Computational Problem Solving Module. https://pilaproject.org/guides/computational-problem-solving-framework
Ogegbo, A. A. & Ramnarain, U. 2022. A systematic review of computational thinking in science classrooms Studies in Science Education, 58(2): 203-230. DOI: 10.1080/03057267.2021.1963580
Papert, S. 1980. Mindstorms: Children, Computers, and Powerful Ideas. NY: Basic Books.
Rose, N. 1999. Powers of Freedom: Reframing Political Thought. Cambridge: Cambridge University Press.
Shute, V. J., Sun, C. and Asbell-Clarke, J. 2017. Demystifying Computational Thinking. Educational Research Review, 22, 142-158.
https://doi.org/10.1016/j.edurev.2017.09.003
St. Pierre, E. A. and Jackson, A. Y. 2014. Qualitative Data Analysis after Coding. Qualitative Inquiry, 20(6): 715-719.
Tamboukou, M. 1999. Writing Genealogies: An Exploration of Foucault’s Strategies for Doing Research. Discourse: Studies in the Cultural Politics of Education, 20, 201-217. https://doi.org/10.1080/0159630990200202
Tedre, M. and Denning, P. J. 2016. The Long Quest for Computational Thinking. Proceedings of the 16th Koli Calling Conference on Computing Education Research, November 24-27, 2016, Koli, Finland: pp. 120-129.
Troeger, J., Zakharova, I., Macgilchrist, F. and Jarke, J. 2023. Digital ist besser!? – Wie Software das Verständnis von guter Schule neu definiert. In A. Bock et al. (eds) Die datafizierte Schule (The Datafied School), https://doi.org/10.1007/978-3-658-38651-1_4
Whiteford, P. 2023. “Income averaging” lacked basic common sense. The Conversation, 16 March.
Williamson, B. 2016. Political computational thinking: policy networks, digital governance and “learning to code”. Critical Policy Studies, 10:1, 39-58, DOI: 10.1080/19460171.2015.1052003
Wing, J. 2006. Computational thinking. Communications of the ACM, 49(3), 33–35. https://doi.org/10.
1145/1118178.1118215.Wing, J. M. 2010. Computational thinking: What and why? Retrieved from http://www.cs.cmu.edu/∼CompThink/resources/TheLinkWing.pdf.