The debate around the concept of Computational Thinking often revolves around a central distinction between those who see Computational Thinking as a fundamental skill useful beyond the field of computer science alone and applicable as a general problem solving tool (Wing, 2006), and those who warn that this view may make exaggerated claims (Guzdial, 2011; Denning, 2017). To my mind, the most useful way to look at Computational Thinking is to see it as first and foremost part of the extended knowledge practices of computer scientists and assess the transfer of knowledge and skills as a separate issue. After all, there is transfer of knowledge and disposition across all fields of human knowledge. Academia builds strong silos, but knowledge is often advanced by those who step outside their silos.
Karl Maton (2014) building on the work of Basil Bernstein and Pierre Bourdieu, argues that all knowledge is made up of both knowledge and knower structures. Uncovering the ways in which these knowledge/knower structures legitimate knowledge claims helps uncover the largely hidden codes to academic success.
We can describe knowledge (epistemic relations) along a continuum from weak to strong. Weak epistemic relations indicate fields where knowledge itself is relatively unimportant. Where epistemic relations are strong, knowledge is crucial in legitimating knowledge claims. Equally we can describe knowing (social relations) along a continuum from weak to strong. Weak social relations indicate fields where who you are as a knower is relatively unimportant in legitimating knowledge claims. Strong social relations, however, indicate fields where the dispositions and gaze of the knower define legitimacy in the field. If we set epistemic and social relations out on a cartesian plane as in the diagram, it allows us to identify different knowledge/knower codes.
Some fields emphasise one or the other. For example, knowledge in Science is mostly dependent upon the knowledge content – it represents a knowledge code. Who is doing the knowing, their ways of seeing and knowing is largely, but not completely irrelevant. By contrast in the field of film criticism, an encyclopedic knowledge of world cinema alone does not guarantee legitimacy, Far more important is how the critic approaches film, how they structure and validate their arguments. Here the knower is emphasised – a knower code – having a cultivated gaze is crucial. The knowledge itself is almost irrelevant. Where both are crucial to legitimating knowledge/knowing we have an elite code. For example in Music. Where neither is important – a relativist code – what you know and who you are is largely irrelevant, all perspectives tend to carry equal weight.
It seems to me that viewing all knowledge from this knowledge/knower perspective helps to illuminate much of the debate around Computational Thinking. CT is usually defined as a set of procedures as follows:
- Problem reformulation – reframing a problem so that it becomes solvable and familiar.
- Recursion – constructing a system incrementally on preceding information
- Decomposition – breaking the problem down into manageable bites.
- Abstraction – modelling the salient features of a complex system
- Systemic testing – taking purposeful actions to derive solutions (Shute, et al, 2017)
What is clear is that this describes a set of dispositions, ways of approaching problems, ways of seeing rather than the set of knowledge structures that make up legitimate knowledge in computer science. If you look at the syllabus of a typical computer science degree programme, you will get a fair idea of the what that needs to be studied. It largely revolves around the analysis of algorithms and programming design to enable data handling, software design, and increasingly machine learning. The definition of CT does not describe the knowledge, but rather the knower structures of computer science. It sets out what one might consider the characteristics of the ideal knower. It describes how an ideal computer scientist looks at their field, in much the same way as the Scientific Method describes how an ideal scientist approaches their field.
The clear value of the notion of CT, rests, therefore, in laying bare what constitutes legitimate knowing in the field of computer science. It reveals the rules of the game quite explicitly. Because computer science is founded on well developed knowledge structures it represents a knowledge code in Maton’s matrix. Who you are is far less important than what you know. If you are able to master the mathematical knowledge and understand the algorithms necessary for producing computational models of the world that is quite sufficient to make you a computer scientist. But, as Maton points out, all knowledge has both knowledge and knower structures. For many students these knower structures are often occluded. Curriculae often make explicit the knowledge content requirements, but leave unsaid the subliminal characteristics that make up the ideal knower in the field.
If it is correct to say that CT defines the ideal knower dispositions, ways of being, seeing, doing, then computer science is fortunate in having these dispositions set out explicitly, offering clear pedagogical guidelines.
Denning, Peter J. 2017. “Remaining Trouble Spots with Computational Thinking.” Communications of the ACM 60 (6): 33–39. https://doi.org/10.1145/2998438.
Guzdial, M. 2011. “A Definition of Computational Thinking from Jeannette Wing.” Computing Education Research Blog. 2011. https://computinged.wordpress.com/2011/03/22/a-definition-of-computational-thinking-from-jeanette-wing/.
Maton, K. (2014). Knowledge and Knowers: Towards a realist sociology of education. London, UK: Routledge/Taylor & Francis Group.
Papert, Seymour. 1980. Mindstorms: Children, Computers, and Powerful Ideas. The British Journal of Psychiatry. New York: Basic Books. https://doi.org/10.1192/bjp.112.483.211-a.
Shute, Valerie J., Chen Sun, and Jodi Asbell-Clarke. 2017. “Demystifying Computational Thinking.” Educational Research Review 22 (September): 142–58. https://doi.org/10.1016/j.edurev.2017.09.003.
Wing, Jeannette. 2006. “Computational Thinking.” Communications of the ACM 49 (3): 33–35. https://doi.org/10.1145/1118178.1118215.