Learn at home #3: building resilience and problem solving skills
With changes to school and work around the world, many parents and carers still aren’t sure what to expect over the next few weeks. While some children have returned to school, we know that many young people and families are still learning and working at home. We’re providing lots of free extra resources for young people, and we’re offering free support tutorials for parents who want to help their children to understand more about the tools they’ll be using on their coding journey.
In our last blog post for parents, we talked to you about Python, which is a widely used text-based programming language, and about Trinket, a free online platform that lets you write and run your code in any web browser.
This week we talk about the importance of resilience and problem solving as we cover debugging — finding and fixing errors in your code.
Debugging explained
When your child embarks on a coding project, expect to hear the phrase “It’s not working!” often. It’s really important to recognise that their code might not work on the first (or fourth) go, and that that’s completely OK. Debugging is a key process for young people who are learning how to code, and it helps them to develop resilience and problem solving skills.
Learning Manager Mac shows you tips and tricks for fixing Python code errors to help you build more confidence while you support your children at home.
Mac’s top tips for debugging
1. Check the instructions
If your child is following one of our online coding projects, the instructions are usually very detailed and precise. Encourage your child to read through the instructions thoroughly and see if they can spot a difference between their code and what’s in the instructions. You should find that many errors can be fixed by doing this!
2. Try, try and try again
Coding is iterative: programs are written in stages, with debugging during every stage. Errors in code are normal and very common, so mistakes in your child’s programs are to be expected. As a young person begins to develop coding skills, they start learning to problem-solve and persevere despite the errors, which will help them both on and off the computer. And the more they code, the quicker they’ll become at spotting and fixing errors.
3. Small changes make a big difference
Most of the coding problems your child will come across will be due to tiny mistakes, e.g. one letter or a piece of punctuation that needs changing. So during debugging, it’s helpful for both you and your child to frame the problem in this way: “It’s just one small thing, you are so close.” This helps them build resilience and perseverance, because finding one small error is much more achievable than thinking that the whole program is broken and they need to start over.
4. Say it out loud
When your child encounters a problem with their code, encourage them to talk you through their whole problem, without interrupting them or making suggestions. Programmers call this technique ‘rubber duck debugging’: when they encounter a problem with their code, they explain everything their code does to an inanimate object — such as a rubber duck! — to find the detail that’s causing the problem. For your child, you can play the part of the rubber duck and provide a supportive, listening ear!
Join in with Digital Making at Home
We’ve recorded a series of free, instructor-led videos and livestreams called Digital Making at Home. These feature code-along instructions and inspiring conversations with young digital makers! These videos help young people with fun projects they can do independently at home.
Parent diary: Adapting to life online
Ben Garside is a Learning Manager at the Raspberry Pi Foundation and also a dad to three children aged between 6 and 8. Ben is currently homeschooling and working (and still smiling lots!). In this video, Ben shares his personal experience of trying to find the best way of making this work for his family, with a bit of trial and error and lots of flexibility.
Free online course: Getting Started with Your Raspberry Pi
You’ve got a Raspberry Pi computer at home and aren’t sure how to use it? Then why not sign up to our new free online course to find out all about how to set up your Raspberry Pi, and how to use it for everyday tasks or for learning to code!
Do you have feedback for us?
We’ve been asking parents what they’d like to see as part of our initiative to support young people and parents. We’ve had some great suggestions so far! If you’d like to share your thoughts, email us at parents@raspberrypi.org.
Sign up for our bi-weekly emails, tailored to your needs
Sign up now to start receiving free activities suitable to your child’s age and experience level straight to your inbox. And let us know what you as a parent or guardian need help with, and what you’d like more or less of from us.
PS All of our resources are completely free. This is made possible thanks to the generous donations of individuals and organisations. Learn how you can help too!
3 comments
W. H. Heydt
Going all the way back to the 1970s, I referred to the debugging technique of talking through the code with someone else (generally another programmer, in my case) as the “two heads are thicker than one method” of debugging. It’s amazing how often, when leading someone else through your code, you spot your own error.
Martin Bonner
Also known as “cardboard programmer debugging” (it was reported that a Japanese firm had found that providing programmers with a cardboard cutout to explain the problem to improved productivity) or “rubber duck debugging” (popularized by Eric Lippert).
Martin Bonner
“Debugging is a key process for young people who are learning how to code” – Err, I no longer count as either “young”, or “learning how to code” (people have been paying me to write software for 40 years now). I still regard debugging as a key process.