Using a manipulative to challenge learners’ concept of a computer
18 September 2019
Teaching computing is fraught with abstract concepts: how can you ‘show’ learners programming? Not the code, but the link that code x made y happen? Or ‘prove’ that the internet is a series of devices connected using wires? Sure, there’s a wire leading into the wall, but that could go anywhere, right? For any teacher who tries to provide genuine context for their learners’ understanding, this can be really problematic. Add to this the age of children in primary school and their ability to process abstract thoughts.
Let’s take a moment to step back and consider learning theories. Piaget (1952) believed that children under 11 were unable to process abstract thought, and Neo-Piagetians developed this theory further to increase focus on the transition through phases (concrete before abstract) rather than age-based transitions. Add to this Bruner’s (1964) theories about how knowledge is stored, starting with action-based activities (enactive representation) before moving to image-based activities (iconic representation), such as diagrams and pictures. In light of these theories, some computing concepts seem even harder to teach.
Does this really happen?
In the classroom, I had also begun to see aspects of this. When discussing programs, my learners were able to tell me that programs are “code that runs on computers”. This sounds great, as though they’ve totally understood it. And then I asked, “So what is a computer?”, and suddenly their answers weren’t so clear:
- “A piece of technology”
- “A keyboard and a screen”
- “A search engine”
- “A machine used for work”
- “A metal brain”
This one simple question highlighted how many underlying, abstract concepts the learners were missing. If they only imagine a computer to be a laptop (what most children draw when asked to draw a computer), which has a screen and keyboard and is used for searching and school work, then how can they explain being given a Bee-Bot and being asked to program it? This is similar to DuBoulay’s “notional machine”, a concept which refers to how a person thinks about the computer they’re attempting to program.
Piaget argued that children need a good reason to give up on a current working theory, and I think in this scenario they are likely to make no connection between the object (Bee-Bot) and the concept (computers are programmed) I was teaching. What had happened was the abstract concept of a ‘computer’ had been superseded by their concrete experience of a computer, e.g. “when I use a laptop, people say that I am using a computer”.
What do we do about it?
When considering approaches to addressing the need for concrete experiences before abstract concepts in computing, I looked to Maths. Specifically, manipulatives in Maths.
Manipulatives are concrete resources that help learners to work out abstract problems. Common classroom examples are multilink cubes, dienes, place value cards, and fraction walls. In many studies, these have been shown to have positive effects on learning compared more abstract models (Carbonneau, Marley and Selig, 2013). The effects are, however, dependent on how the tool is introduced and used (merely putting it on the table just resulted in some interesting multilink models but no greater mathematical understanding!). Overall, reading about manipulatives in Maths led me to wonder if I could recreate a similar tool for a Computing lesson, something to help the learners explore ‘what is a computer’ in a concrete way.
The tool I chose as a manipulative for Computing was the Raspberry Pi, as it is relatively cheap and did not look like many of the children expected a computer to look, thus challenging their assumptions from the outset. After they had the chance to explore the device (discussing what they could see, exploring which peripherals are vital, and considering the purpose of a computer), the children started to ask more and more questions about the devices around us.
After a series of lessons around this topic, I asked once again what a computer was, and while the learners’ answers were still not all correct, they definitely showed an improvement:
- “A computer has lots of switches and plugs to plug things into – it doesn’t have to have a screen”
- “A computer needs code on a microchip to make it work – without that pressing a letter would make nothing happen”
- “Not all computers look like a computer, they have different shapes and designs and are used for different needs”
Try to consider what abstract concepts you’re assuming your learners understand. You could start by asking them: “What is a computer?”
- Find more details on theory and how I used it in my lessons in this blog post
- Sorva, Juha. (2013). Notional Machines and Introductory Programming Education. ACM Transactions on Computing Education. 13. 8:1-8:31. 10.1145/2483710.2483713.
About the author
Sway Grantham is a primary Computing teacher and Primary Learning Manager at Raspberry Pi Foundation.