Programming and perseverance: is there a connection?
It’s not that I’m so smart, it’s just that I stay with problems longer. – Albert Einstein
When I was preparing activities for the UK Hour of Code, I got two of my pupils to try out a programming app (Lightbot) I was thinking about sharing with the rest of the class. As it so happens, both these students are very different learners with different behaviours and strengths. However one thing they both needed to work on was their perseverance. For different reasons, I have seen both of them give up on tasks prematurely. Despite being very straightforward, both made mistakes on the first task as they were getting used to the format and showed faint signs of wanting to give up. However, they both stayed with it and, as it got harder, they got more frustrated (actual ‘grrr’s were heard). However, both became more determined to succeed and quitting seemed less likely as time went on. I’ve noticed similar effects in other programming lessons with other children. Quite often, children, who might need some persuasion to see a task through, needed little to no convincing to complete a programming task. This got me thinking: what is it about programming that is seemingly (only my observations after all) leading children to persevere for longer than they otherwise might?
Strategies and tactics: a recent report on promoting grit, tenacity and perseverance by the U.S Department for Education defines perseverance as ‘the voluntary continuation of goal-directed action in spite of obstacles, difficulties or discouragement.’ It also states that students are more likely to persevere with a task that allows them to draw upon specific strategies and tactics to deal with the challenges and setbacks. This is definitely something that programming allows children to do – they can apply strategies they have tried out on other programming tasks to solve other, unrelated tasks. Interestingly, my class do ‘voluntarily’ go back for more when it comes to programming tasks such as those they had a go at during the Hour of Code week – they are hooked.
Optimal challenge: this is the idea that a task is worth persevering with if it presents a challenge to succeed, but is not perceived as impossible. With Lightbot in particular, children knew that however complex a task seemed at first, it was possible because there was another level after it. They knew there was a way to do it, they just had to find it.
Interests and established values: the first time I introduced programming to my class was through the context of creating their own computer game – something which tapped into the interests of many of them. Once again, the U.S report backs this up: if goals are in alignment with students’ interests they are more likely to see them as worthy and therefore persevere in the completion of them. Makes sense really.
The ‘goal looms larger effect’: Psychology Today explains that as the distance from a goal decreases, the motivation to reach it increases. This explains why as the Lightbot tasks got harder, I witnessed pupils becoming more determined to continue. They knew the increased difficulty signalled they were getting closer to the end. If a programming task has a very clear goal, then the closer a pupil gets to succeeding the more intensely they want it. The closer you get to completion, the more you want to see it through.
There is a whole lot more to say on the subject of perseverance and the connections between it and programming really needs more formal exploration, but I would be interested to know if anyone else has witnessed a change in determination and levels of perseverance. For me, it is turning out to be another unexpected benefit of teaching computing.
Overcoming obstacles by The U.S. Army