Thoughts

Five Didactical Perspectives on Computational Thinking

Introduction

This post contributes with five perspectives on how to didactically adress progression in the work with Computational Thinking (CT) in teaching.
I take on here a perspective of CT, that was revitalized and popularized in 2010 by Jeanette Wing, who defined the term as:
“The thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent” (Wing, 2010).

Wings take can be seen as problematic in different ways. However, this will not be treated in-depth here.
Although Wing’s formulation is somewhat abstract, special emphasis is placed on the fact that these are cognitive problem-solving strategies, where students model the world through specific forms of representation that are based on informatics and computer science as disciplines. Wing emphasizes that it is about thinking like a computer scientist and that the special modelling competence inherent in the disciplines can be generalized across all subject disciplines in the same way as reading, writing and arithmetic.

With this point of departure, it is the aim here, to provide teachers with perspectives for didactic reflections on CT as a specific way of working in the subjects. It is, therefore, not an attempt to provide instructions, but more to point to points of attention on planning.

Five perspectives:

What follows are five didactic perspectives that point out important aspects in the student’s development of CT as a problem-solving strategy. The five perspectives are:

1. The pre-computational perspective
2. The bodily perspective
3. The abstract perspective
4. Perspectives on problems and their solutions
5. Perspectives on the creative and imaginative

I do not claim this to be a model of progression, but the five points reflect a movement from the concrete towards the abstract. Although students, to a certain degree, possess the ability to think abstractly in different ways, they often come with little or no prerequisites for computational modelling. Therefore, an important and overall point of attention here is to create opportunities for the students to be gradually introduced to computational strategies and methods in interaction between the tangible/concrete and the symbolic/abstract.

The pre-computational perspective

Working computationally involves a basic understanding of symbol manipulation and modelling. This requires the students to become aware that e.g. coding and programming are based on certain kinds of logic and terminologies. The students must learn a special of computational grammar (certain syntaxes) before they can begin concrete computational work. For example, abilities within mathematical logic, decomposition and pattern recognition are part of the prerequisites students must possess in order to work computationally.
This can be taught in many ways, but a well-known and well-tested method for older children is to have them solve mathematical puzzles. One of many examples is Cut Hive Puzzles (http://inabapuzzle.com/),  which I explain in a previous post

Although the computational historically has its origins in mathematics, CT is not only limited to mathematical problem-solving. However, by working with logic tasks, students learn basic principles that can later be transformed into situated computational methods. For example, writing programs consist of certain logical rules and patterns.

The pre-computational perspective must be seen as an indication that students do not necessarily have the necessary prerequisites to think computationally in the sense of a computer scientist, but that this, along with reading and arithmetic, must be trained and developed. In the CT literature, coding and programming are often compared to professional skills that are similar to complex mathematical problem-solving in the natural sciences, and high-level literature analyses in the language subjects. Therefore, here too, the students need a basic understanding that precedes the computational.

The bodily perspective

A more concrete and less abstract approach to understanding and implementing CT in relation to a professional task can be done through physical activities. Activities such as “program your friend” or “bodygramming” could be examples of such approaches. Programming a friend to execute an algorithm can help show how precisely one needs to formulate rules if the computational agent (the friend) is to execute it correctly and the same way every time. The bodily perspective makes it concrete and visible how the algorithm is performed and whether this is done correctly. In such a process, students can isolate and correct the places where things go wrong and discuss how, for example, IF/THEN can be formulated more precisely.

The Finnish researcher Jussi Mikkonen proposes “bodygramming” as a bodily method to teach students programming. Bodygramming means that students physically behave like a computer program, through step-by-step prescribed actions. In this way, the students get an experience of the synchronous processes that are connected to a code at a low, human pace. In this way, an alternative option is offered to understand basic programming concepts and abstractions.
The bodily perspective points out the need for CT to be concrete for the students. These two examples (Program a friend and Bodygrammin) can make programming visible and concrete for students in a way that makes it tangible and debatable. In this way, it is ensured that CT does not just become something that takes place as part of abstract thought processes, but also something that physically unfolds in the world. At the same time, this perspective can shed light on how we as humans (as opposed to computers and AI) partly build our understanding of phenomena on contextual interpretations and intuition.

The abstract perspective

CT embeds a perspective that is based on students’ ability to think abstractly about phenomena in the world and translate these into ways that can be processed computationally and rule-based.

With the Cut Hive example above in mind, this means a move from being able to solve this puzzle to writing down rules for its solution.

A simple example is:

IF <a given input>
THEN <a specific action>

IF <a hexagon with area 2 contains the number 1 or 2>
THEN <the second hexagon contains the missing number>

Writing down rules for programs includes abstractions, generalizations and pattern recognition. Students must be able to exclude other parts of the puzzle in order to simplify and generalize, while at the same time comparing the generalized rules with the rest of the game’s rules (pattern recognition).

An example of the rewriting of a concrete event into a general rule:

The example shows how the abstract perspective in Wing’s definition of CT can play out. What distinguishes this approach to problem-solving in school from others is that it involves thought processes that seek to reduce the complexity and interpretation possibilities of phenomena in such a way that a machine (which cannot make decisions based on intuitive interpretations and emotions) can solve tasks, that would be too difficult or take too long for humans to do. The abstract perspective thus points to the fact that there are specific ways of thinking with special purposes that students must learn.

The problem-based perspective

In most contexts, CT is related to problem-solving of complex problems that cannot be handled by humans alone. In Wing’s formulation, it is also explicitly mentioned that it is both about formulations of problems and solutions to them. Not all problems are relevant nor solvable with the implicit methods alone.
Often, the problems that are sought to be solved are closely connected with and take their place in the subject. However, there are some fundamental characteristics of computational problems in non-computer science subjects:

1. That data is collected and processed (analysed).
2. That an algorithm is created that can help solve the problem
3. That the algorithm can be executed by a computer or human
4. That the problems have multiple or often open solutions

As hinted at academic problems are not tied to the field of informatics or data science. Poems are, for example, full of patterns (e.g. rhyme, metric, syllables) that can be transformed into rules and classifications in relation to recognizing and categorizing other poems. Another approach in language subjects could be to write four sentences and let the students put them in a logical order based on the data the sentences contain.
The problem-based perspective points to a need to reflect on which problem types are suitable for CT and what level and complexity the problem has in relation to the students’ prerequisites. Working with analyzing poems will be difficult for beginners because it requires skills that are based on complex knowledge of genre and language. Putting four sentences together so they make logical sense based on a content analysis would be easy for a high-school student.

The creative and imaginative perspective

Although Wing, in her definition, is particularly concerned with the problem-solving perspective, there are examples in the literature, that CT is involved in more than that. There are also arts and creative perspectives associated with designing solutions to problems or expressing oneself and imaginaries through coding. In such a perspective, creativity is part of shaping something from a set of conditions. Conditions here could mean the fact that algorithms or algorithmic processes are included in the design itself and/or in the product in one way or another.
The German professor Yasmin Kafai, who is, among other things, is one of the developers behind the coding platform Scratch, has in recent years worked with young people’s design of electronic textiles as a special way of expressing themselves. Kafai emphasizes that this way of working with the computational offers special opportunities for young people to have a critical-constructive voice and participate democratically through freedom of expression. The students’ thoughts, feelings and attitudes are expressed, when they design and create different products from textiles that are combined with microcomputers such as Lillypads (see e.g. https://www.exploringcs.org/e-textiles). The creative perspective thus points out that CT in teaching is not always only associated with problems but can also support the creative and soft forms of interpretation.

Concluding remarks

In the recent literature in Denmark, CT is seen as part of a movement focussing on empowering children to be able to take a critical stand towards digitization and the use of the media. In an educational context, one could ask, what possibilities and limitations does the computer as a tool entail when it is involved in the solution of problems and what do students need in order to use them? In this light, a CT competence makes good sense as a modelling competence that, through certain methods, enables the student to transform concrete specific problems into something a computer can help to solve. However, it is also important that teachers consider the following:

  • What CT is not. Is it, as Wing imagines, a transversal and general competence that reaches into, but also beyond, the subjects? Or is it just one of many methodological tools that students must have in their toolbox?
  • How is CT reconciled with the subject’s already built-in logics?
  • To what extent does CT contribute to the students’ general education?

Teaching is complex and the questions here show that the five perspectives highlighted here are not exhaustive, but just specific points of attention that can be included and discussed in relation to the teacher’s other general and subject-didactic reflections.

Empirical Research

Design activity #3: Final prototypes

In today’s design activity, we finished the first prototype and readied it for the first testing in school. We will present the prototype to the teachers who have volunteered to test the game in their classrooms.

Decisions and discussions on materiality
Lene and I have been discussing the materialities of different solutions, and whether the first prototypes should be made in e.g., cardboard or wood, the consistency in the graphical expression of the single pieces of the game, the correlation between the analog and digital part of the game and how to balance the game to both constrain the students into a specific fictional genre and afford openness to let the student’s imagination and creativity flourish.

Our considerations on materialities are also based on which kind of feedback we want to get from the teachers. For us, this concerns the balance between presenting a prototype, that looks done but not as a completely finished design. We don’t want the teacher to be concerned with the time and work put into the prototypes and thereby eventually limiting their evaluation. our hypothesis here is, that if the teachers think we have too much ownership or put to much work into it, then that will limit their evaluation and honesty towards concerns or critique of the design.

Lene checking the quality of the pieces and preparing them for the final finish
Design Experiments, Empirical Research

Design activity #2: First prototyping

After sketching the raw ideas of the game, my colleague (Lene Illum Skov) and I went through the first initiating design workshop. The aim of the workshop was to get closer to which elements we wanted to include in the game and how these would serve a specific purpose in regard to supporting the students’ creation of interactive stories.

The approach chosen in the project borrows its methodology from the field of participatory design research as described by Spinnuzi (2005):

As the name implies, the approach is just as much about design—producing artifacts, systems, work organizations, and practical or tacit knowledge—as it is about research. In this methodology, design is research. That is, although participatory design draws on various research methods (such as ethnographic observations, interviews, analysis of artifacts, and sometimes protocol analysis), these methods are always used to iteratively construct the emerging design, which itself simultaneously constitutes and elicits the research results as co-interpreted by the designer-researchers and the participants who will use the design.

Lene cutting and glueing pieces of the story to fit with specific tokens of the game

With that in mind, the design workshop is part of the research and the conversation unfolding during that process of great value for the choice made.
During the workshop, some important choices were negotiated, e.g.:

1) How did we want the tokens and pieces of the game to look?

2) Which text parts would be the best to include, keeping the storyline as open as possible?

3) Which materials would suffice and be suited to the job?

4) Simplicity in the expression of the artwork

Playfulness and game activities provide what Eva Brandt calls “dream material” (Halse, Brandt, Clark & Binder, 2010) that supports participants in playing out different versions of futures and outcomes. The process of designing the game could be seen as such, providing both Lene and me with opportunities to see meaningfulness and purpose while being engaged in developing ideas and artifacts.

The final outcome of the day. Not finished – but one big step closer
Design Experiments, Empirical Research

Designing for Computational Literacy in L1

Design activity #1: First ideas on designing a game for computational thinking

The mock-up and ideas

The basic ideas.
Today I started on the basic idea of the game for fostering algorithmic thinking and pattern recognition within the subject area of danish as a mother tongue (L1). Many thoughts have come up, but the basic idea is to combine tangible objects with digital artifacts in different ways to support the creativity and thinking skills of the students when writing stories. The tangible object (computational things) will function as structuring resources scaffolding the students when they outline their stories. Right now, I want to use the student’s mobile phones as well by using QR codes to give them excerpts from an existing story, to create basic plotlines. Using tangible objects, the students can fill out the missing parts linking the plots. To do this, the students involve (to some extent) pattern recognition and algorithmic thinking (my hypothesis).

From analogue to digital artifacts
After the students have finished the basics of the story, we want them to transform their ideas into interactive stories with the tool called Twine.
The great thing about Twine is that it both works as a tool for transforming the student’s creative ideas into a story others can engage in and also gives us researchers an opportunity to follow the students when they “program” a story in a tool, that uses basic programming syntax to function. E.g. creating a link requires the student to write a small command: [[ text ]]. Again the student also needs to involve both algorithmic thinking and creating logical patterns to create a coherent story.

Collaboration as a way to investigate how students think!
The game is designed towards as a collaborative enterprise. We think, that the only way to investigate the problem-solving and computational thinking strategies the students put to use is by letting the work collaborate and communicate their design ideas and actions.

Next steps:
The next steps will be a lot of further idea generation and sketching. Much is to be considered and learned. Both in regards to different properties of materials and how to design and manufacture the desired idea in the final steps. Right now, designing in Adobe Illustrator, Inkscape, and the like seems to be the next step, as well as trying to work with different forms and game formats.

A glimpse of the first drafts