The debugging mindset
Estimated Time: 15 minutes
Learning programming is challenging!
On this page, we’ve collected skills, tips, and mindsets helped students get the most from the program. We hope that they help you too.
🌱 Growth Mindset
In this class and beyond, we hope you use the following methods mentioned in the video to improve your learning:
- Maintaining a growth mindset
- Using and refining a process
- Seeking advice and feedback from peers and teachers
- Doing challenging things
🐛 Debugging Mindset
What we see as a good program with a small bug, the child sees as “wrong”, “bad”, “a mistake”. School teaches that errors are bad; the last thing one wants to do is to pore over them, dwell on them, or think about them. The child is glad to take advantage of a computer’s ability to erase it all without any trace for anyone to see. The debugging philosophy suggests an opposite attitude. Errors benefit us because they lead us to study what happened, to understand what went wrong, and, through understanding, to fix it. Experience with computer programming leads children more effectively than any other activity to “believe in” debugging.
Seymour Papert, Mindstorms
When you see errors in your code, how do you feel?
When you see the red Python error message, the Replit tests don’t pass, or your program isn’t doing what you want, it’s natural to feel scared, stressed, or frustrated.
However, errors don’t mean your program is bad, and they definitely don’t mean you are a bad programmer.
Debugging is the process of making programs better - and learning means running into lots of bugs.
Our version of the Growth Mindset is the Debugging Mindset.
- You will run into lots of errors.
- When you do, try to treat each one as a chance to learn.
- Bugs and errors are normal. Everyone learning to program creates lots of buggy programs - then debugs them. You will too.
Alumni Advice
Here’s a clip from Alexis, a Try Kibo alumni, on how to succeed in the program:
Don’t give up, and if you’re having a problem, don’t be afraid to speak up.
You can also check out the YouTube Playlist with more student stories and advice from alumni.
👨👩👧👧 Learn from Your Peers
Here’s what past Kibo students have said about working together:
I loved the sense of community and connection that Discord provided. I found it easier asking for help when I got stuck from my squad members and the other classmates
Discord helped a lot, before i asked a question i found that someone else already had. Most of the questions i had were already answered in the threads.
Working as a group always helps to solve issues quicker.
Discord helped me know that I was not the only one struggling with that assignment. And when people asked questions, I kinda took a piece of their assignment that I did not understand and that they did really well.
Sometimes I don’t even know I’m having certain issues until someone else asks
We’re a learning community. Since lots of other students are going through the same struggles you are, it helps everyone to learn together.
Here’s some tips and rules for making the most of the learning community:
- Be involved. Participate in discussions, find time to work with other students
- Ask each other for help. Other students might be able to help you, or they might have the same issue that you do. Asking for help helps everyone.
- Share your knowledge. If you think you’ve got a concept mastered, offer to help someone else.
- Celebrate creativity. When you make a cool project, share it with the group! If someone else shares a great project, celebrate them!
Kibo made programming FUN!
❓ Ask for Help
Learning should not be a solitary pursuit. If you have trouble understanding the concepts, can't find the assignment details, or have issues with one of the program tools, we expect you to reach out for help!
Here’s more quotes from past students:
The office hours were very helpful in helping me to get me one on one helping my assignments.
It was easy to share images/screenshots when we needed help. When someone had a question, it was so easy to just send a screenshot or image of what they are doing wrong.
I wonder why I didn't attend more office hours sooner.
What I found valuable was the fact that I was not going to be judged for asking questions, no matter how "Useless" it sounds.
How to ask for help
When you need to ask for help, you might send a message that only says, "I need help". Unfortunately, this message does not have the information needed to help you. You won’t get the help you need.
When asking for help, include the following information:
-
Details of your goal.
"I am trying to [goal]."
-
Details of what you have tried so far.
"I have tried [details of how you have tried to solve the problem already]."
-
Helpful context.
“Here’s a screenshot of my code."
❌ Don’t Write
- “need help”
- “I’m stuck on problem 3”
- “Can anyone help?”
- “Hi”
✅ Do Write
- “I’m working on solving problem three, and getting this error when I run my code: [screenshot]. Can anyone help explain this error? I don’t get it.”
- “I’m trying to print all the values in this list for my project, but it keeps saying
NameError: name ‘item’ is not defined
. Here's a screenshot of my code. I tried changing the list, but that didn't work."
Screenshots
It’s often helpful to include a screenshot with your question. Here’s how:
- Windows: press the Windows key + Print Screen key
- the screenshot will be saved to the Pictures > Screenshots folder
- alternatively: press the Windows key + Shift + S to open the snipping tool
- Mac: press the Command key + Shift key + 4
- it will save to your desktop, and show as a thumbnail