"Teaching programming can seem like an uphill struggle. Try a spiral approach to engage pupils, build confidence and maximise those light bulb moments!
Why is programming hard?
It took me a while to understand why pupils can find programming so hard. I have been teaching age groups from nine to adult for over ten years now and I think I finally have it: programming is about learning a language, yes, but it is much more about a way of thinking and just like Maths; complex concepts can’t be taught in one hit. You must use a spiral approach.
This is hardly a new idea. Bruner (1960) said that pupils need to learn fundamental principles, extend these through enquiry, make their own connections, and that the curriculum should revisit these ideas over time, adding complexity. Much research since has supported these findings, including more recent work by Sue Sentance and Andrew Csizmadia (2015)
In early programming tasks, pupils are being asked pretty simple questions: count to ten, work out the ticket price, etc. and, given a piece of paper, will happily give you the answers. Ask them to explain the method though, much less write that in an unfamiliar formal language, and the cracks will begin to appear. We need to be careful not to introduce complex algorithms or text-based programming too early. Shaffer (2013) points out that if we ask pupils to think computationally and express this using a formal language all at once, we will run into issues with cognitive load and many will decide it’s not for them and give up. Pupils have often come to rely on learned responses, can be anxious about taking risks and, frankly, a bit reluctant to think for themselves. However, there is nothing much more satisfying than a “Yes! I’ve got it” from a previously unenthusiastic or struggling pupil.
Same ideas, different contexts
I have threaded programming throughout my curriculum and my approach is very much about questioning, encouraging, and extending. My hope is that by presenting computational thinking, programming, and debugging in lots of different contexts, pupils will see the patterns and find text-based programming much less intimidating." (D'Cruz, 2019)
Bruner, J. S., 1960. The Process of Education. 1 ed. Cambridge, Massachusetts: Harvard University Press. helloworld.cc/Bruner1960
D'Cruz, R., 2019. Spiral Curriculum. Hello World, July, pp. 60-61.
Sentance, S. & Csizmadia, A., 2015. Teachers’ perspectives on successful strategies for teaching Computing in school. IFIP TCS. helloworld.cc/SentanceS2015
Shaffer, D., Doube, W., Tuovinen. J., 2003. Applying cognitive load theory to computer science education. International Journal of Computer and Information Engineering, p333–346. helloworld.cc/Shaffer2003
“A Spiral Curriculum” by Rebecca D'Cruz was printed in HelloWorld Issue 9 and is licensed under CC BY-NC-SA