How can we support girls’ problem solving in computing?
Hayley Leonard explores the role that emotions play during problem solving, and how improving the understanding of these processes can positively impact girls’ beliefs about their programming abilities.
We all know that learning to program can be challenging, frustrating, and, when we manage to get it right, gratifying. These emotions are natural responses to a complex task, but research has shown that they can also affect how likely we are to give up on the task, and how we feel about our own abilities. While all programmers will experience these emotions, there are some indications that girls’ responses to bugs in their code can affect their self-efficacy, defined by Bandura as the perception of their own ability to perform to the expected standard.
Students show a range of emotional responses to their learning experiences and achievement, known as academic emotions. These responses may be due to how invested they are in their educational outcomes, or because of the social implications of their success or failure in front of their peers. Academic emotions can be related to specific learning activities, such as problem solving or debugging. They can also relate to how someone deals with information that is new or inconsistent with what they previously understood. For example, when a bug occurs in students’ programs, they may feel surprised, confused, or curious because the output conflicts with what they were expecting to happen.
Whether learners experience positive or negative emotions can differ depending on how much value they place on a particular task and how much control they feel they have over the situation. Some research has suggested that females are more likely than males to attribute academic success to luck and failure to their own ability, although larger-scale studies need to be conducted to assess this in computer science. A reduced feeling of control over success in computing could lead to girls having a negative emotional response to debugging experiences. These negative responses can have a long-term effect on self-efficacy and later achievement.
The different dimensions of this ‘Control-Value theory’ put forward by Pekrun (2006) are shown in the image below.
Understanding academic emotions in computing
It can be easy to make assumptions about how a student is feeling when faced with a programming task, but it is important to hear from the students themselves. A recent paper by Dahn and DeLiema (2020) provided some real insights into the emotions experienced by three female high school students as they developed their programming skills over two years of attending extra-curricular computing clubs. Students were encouraged to reflect on their experiences through reflective journals, producing artwork, storytelling, and interviews.
By following the girls’ reflections over time, the researchers were able to identify changes in the girls’ emotional reactions to debugging as their skills and confidence improved. Importantly, the act of reflection also helped the girls to identify patterns in how they approached problems. It allowed them to keep notes of successes and failures to look back on when they were faced with a similar problem in the future.
One of the girls reflected repeatedly about “overthinking” and “overcomplicating” things, and was constantly comparing herself to others who she believed were quicker than her and understood things without requiring the extra help that she felt she needed. Over time, this girl was able to work flexibly around bugs or to come back to bugs later, and recognised that she had become calmer when attempting to solve problems.
Another girl reported anxiety and nervousness about debugging, again feeling dependent on asking for help and worried about getting things wrong. She grew more confident and independent, going on to become a mentor to others, and showed an understanding that making mistakes was an important part of programming and how she learned.
Three things to support girls' problem solving in your classroom
Given that emotions play such an important role during problem solving, what can you do as educators to help you and your students better understand their emotional responses during programming? Here are some suggestions from research in computing and mathematics.
- Using reflective journals or asking students to track how they are feeling in their exercise books is a good way of recognising the importance of academic emotions in learning. You may need to model it yourself, but allowing the students to reflect independently without sharing with others at first is likely to make them feel more comfortable in this activity. Over time, you might ask them to reflect on how they have changed and to share this with the class. This can help to reduce the feeling that ‘everyone else knows what they are doing except me’. This could particularly help girls, who may be more likely to make negative comparisons with others.
- Removing ownership of failure can also reduce negative emotional responses, such as embarrassment or shame, and improve confidence in problem-solving abilities. The PRIMM approach to teaching programming is a great way to do this. Understanding ready-made programs, and where they can go wrong, helps the student to learn key programming concepts and debugging strategies without feeling that the bugs are their fault. It can reduce anxieties about getting things wrong, which can often affect girls.
- Specifically teaching problem-solving and emotion-regulation strategies can help students approach problems in a flexible and neutral way, leading to greater success and increased confidence. For example, a useful emotion-regulation strategy is to encourage students to take a brief attentional relaxation when they are struggling with a bug (e.g. stop looking at the problem, close eyes, think about something else). This can break the cycle of negative emotional response and give them a ‘fresh pair of eyes’.
Read more about it
- Dahn, M., & DeLiema, D. (2020). Dynamics of emotion, problem solving, and identity: Portraits of three girl coders. Computer Science Education, 30(3), 362-389.