Adaptive Teaching

Mar 04, 2024

Miles Berry

Once upon a time, software was developed using a ‘waterfall’ method, where the requirements were gathered, the software was designed, implemented, tested and deployed. This approach still gets taught in GCSE and A Level computer science classes, and curriculum development often follows a similar approach. Software engineering has moved on, recognising the value in an iterative approach, also mirrored in teaching, where the results of implementation are analysed to inform the next cycle of the design. The best software development is now done using agile methods, which recognise that whilst processes, tools, documentation, agreements and plans are important, they’re less important than individuals, interactions, getting things working, collaborating and responding to change. In school, perhaps we should place less importance on delivering content, and more on adapting teaching and curriculum to our pupils and what they know already, whilst ensuring that all reach high standards. Adaptive teaching is our equivalent of agile software development.

There are any number of factors which contribute to a pupils’ success in computing, but there’s no evidence to suggest that there’s a coding gene, which means that only some can learn to program. Some pupils do seem to learn faster than others, and some start a class with more prior knowledge, but if we explain things well and provide meaningful activities and exercises, and if pupils pay attention and work hard, then all can do learn this.

Until relatively recently, there was much focus on ‘differentiation’, which often involved teachers providing different activities, based on perceived ability. This involved a lot of work for teachers, and it didn’t really help overall. Although it produced a bit more progress for those in the top groups, this was at the detriment of those in lower groups, and that this was particularly the case for those from disadvantaged backgrounds.

The emphasis now is on adaptive (or ‘agile’) teaching, with increasing recognition that ‘ability’ or prior attainment is just one factor to consider to better meet the needs of learners. Prior knowledge does make a difference, as new knowledge is built on existing knowledge, and the more a pupil knows, the easier it is for them to learn more. Good, adaptive teaching then needs to take account of varying levels of prior knowledge, for which detailed assessment data is needed. This sort of granular assessment (e.g. which pupils have mastered variables in Scratch?) is far more informative for teaching than ‘flight paths’ or target grades. Target grades might even be harmful, as a low target might lead to a low expectation of what a pupil can achieve, and thus a lack of challenge.

There are differences between experts and novices. Most pupils are novices when they’re learning computing. Whilst clear explanations, direct instruction, worked examples and lots of practice are effective for novices, they can be counterproductive for experts. For experts, experimentation, exploration and discovery are more productive, so difficult problems and independent study might well be part of learning for these pupils - there are excellent online study materials, coding challenges and online communities for well motivated learners. Some novices grasp things more slowly than others, and thus might benefit from extra support or scaffolding. The ‘mastery’ approach now common in maths teaching, with the class moving on when they’re ready but with tailored support for those who need it, can work well in computing too.

Pupils with special educational needs or disabilities often need more support, and sometimes teachers do need to adapt the way things are taught, or the way pupils might respond, to take these needs into account. Technology, such as speech synthesis and recognition, as well as large language models like GPT, can really help here, particularly when pupils make use of these tools themselves. Some special needs, such as autism, are no barrier to doing well in computing. Pupils learning English as an additional language face additional cognitive load, and technology, in the form of Google Translate and similar tools, can help, and there’s nothing wrong with pupils swapping the language pack over in Scratch to program in their mother tongue. Socio-economic factors also have an impact: pupils without access to a computer or the internet at home won’t have had as much opportunity to develop tech skills as their peers - for those receiving it, pupil premium funding could help here.

Although there’s very limited evidence of its impact on learning outcomes, the insights of Universal Design for Learning (UDL) are helpful - so provide multiple means of representation, action and expression, and engagement. If what matters is that pupils can apply the programming construct of selection, does it matter if they do this in Scratch or Python? Through making a game or a quiz program? Through a written explanation or a narrated screen recording? Chat GPT and similar are effective at taking materials in one form and adapting them to another.

I think questions in class offer a really powerful way to adapt teaching, as well as to help inform us about what pupils already know and can do. With the right atmosphere in class, where critical thinking and curiosity are valued, and where pupils share the responsibility for helping one another to learn, questions can be a really powerful tool for learning. You can pitch your questions at the sweet spot to take pupils forward, linking what they know already to what you’re trying to teach, eliciting their current understanding, getting them to think more critically and speak more precisely, and helping them to make connections between different ideas. For those who are struggling, recall and retrieval questions can help to build confidence, and for those who’ve already ‘got it’, open-ended, fertile questions can do much to extend their thinking and understanding. The key thing is to increase what Doug Lemov calls ‘ratio’, the amount of time pupils are spending thinking and talking about the subject, and to decrease the amount of time the teacher is doing their thinking for them.

Don’t let adaptive teaching diminish the challenge of learning computing, but encourage all pupils to rise to this challenge. Compare coding with gaming: it’s the challenge that makes it fun. Pupils can provide more challenge for themselves - independent projects, open ended tasks and the more creative aspects of computing all offer the opportunity for pupils to take things further, and to challenge themselves.