Impact is a journal produced by the newly created Charted College of Teaching. They have published an article by the excellent Alex Quigley (Teacher and Author) and Eleanor Stringer (of the EEF), about Metacognition.
In the article they explain what Metacognition is and isn’t along with some nice examples. The most common definition we hear is that metacognition is ‘Thinking about Thinking’
Other definitions, such as ‘learning to learn’, are equally vague and can actually promote the misconception that metacognition is a generic skill that is not bound to subject knowledge – that we are not actually thinking about something.
In summary they say that metacognition requires:
- Knowledge of yourself as a learner
- Knowledge of appropriate strategies
- Knowledge of the task
An effective learner will monitor their knowledge and cognitive processes, and use this understanding to make judgements about how to direct their efforts.
They go on to say:
These decisions happen intuitively but, with explicit teaching and scaffolding, they can be better and more habitually enacted by pupils.
They advise to beware of these common misconceptions:
- Metacognition is a general skill that should be taught separately from subject knowledge
- Metacognition represents ‘higher order’ thinking and is therefore more important than mere cognition or subject knowledge
- Metacognition is only developed in older pupils
Generic ‘learning to learn’ or ‘thinking skills’ lessons may be able to impart some useful overarching idea, but pupils can struggle to transfer generic approaches to specific subject domains. Self-regulated learning and metacognition have been found to be quite context-dependent
SO… How might that look in my subject?
When programming Computer Science we teach iteration. We have 3 commonly used loops to do, the FOR loop, WHILE loop and REPEAT…UNTIL loop.
I explain the concept, I do worked examples of how they work, they do trace tables examples, I teach the code, I give practice exercises, they do trace tables to check their own code and then give them problems that require application of the loop in the solution. By the end of this process all students can use and apply each of these types of loop.
Loops are then used in most other programs that they will create going forward.
The interesting thing about loops is that you can normally use at least 2 of the 3 types to solve any one iterative problem (for example, you can make the equivalent of a FOR loop with a REPEAT… UNTIL), but it may not be the most optimal choice.
The problem comes when students make their own choice of what to use. They are very often content that their solution works and don’t consider if it is the best solution.
It is incumbent on me to explicitly model my thinking process as I go through analysing a problem and planning a solution.
I should also get the students to explain their thinking process (in discussion pairs?) to their proposed solutions (or completed solutions).
In fact Issue 5 of Hello World magazine has a fantastic technique for doing exactly this on Page 45!
You-tuber Tom Scott explains the thinking processes applied to solving a ‘simple’ programming challenge…