The purpose of this blog is to provide our audience with ways to motivate young coders through their frustrations and challenges while coding.
Great news! If you are reading this post, then your child is interested in learning how to code! As you may already know, computer programming provides children with so many beneficial skills. For instance, it can help them practice problem solving, learn perseverance and prepare them for a society that is quickly moving toward a more digital future. If you would like to learn about additional benefits of coding I highly recommend reading 10 Reasons Kids Should Learn to Code.
Learning to code can be difficult and at times very frustrating. Below I will list the most common setbacks for young coders and I will provide parents and teachers with tips on how to encourage your child to overcome these.
Here is a bulleted list if you would prefer to skip directly to a specific section.
Where do I start? What should I make?
I’m stuck and I can’t find a solution
It is taking too long…maybe I’m not good enough
Frustration: Where do I start? What do I make?
There is an overwhelming abundance of information regarding computer programming on the internet. With so many different perspectives and suggested paths available, making an effective decision is hard. For example, choosing a path is similar to ordering a meal at a restaurant when every single item on the menu sounds amazingly good and you don’t know which to choose.
Oddly enough, this is exactly what it feels like when you start learning to code. You begin your coding journey with one language and then you start to wonder if it’s really the best language to learn when there are so many other languages available.
The same goes for choosing resources to learn from, choosing an integrated development environment (IDE) to code in and deciding what to make.
How to Overcome this Frustration: Just Start and Learn the Basics!
The language you learn is not important. What matters more is that your child understands the concepts.
It doesn’t matter if they can’t remember the exact syntax used to write an if then statement in Java or the proper punctuation to declare a variable in Python. All of this information can be found in textbooks and on learning platforms on the internet. I can assure you, even those who have years of coding experience and have made coding into a career still look up syntax questions.
The fundamental concepts of computer science do not change from language to language. And do not stress over finding the best IDE because ultimately the program that results from your child’s code will work the same. Honestly, your child’s code will work in any IDE.
If your child is overwhelmed with the possibility of which projects to start, encourage them to choose a topic or problem that captivates them. They will be more likely to stick with it and stay motivated if the project is interesting to them. For example, start your journey in coding by making games! Making games with code are a great way to start and can be a lot of fun. The end result is always pleasing because it allows your child to share their game with others and gives them something to be proud of.
Frustration: I’m Stuck and I Can’t Find the Solution
It is no secret that computer programming can be a game of trial and error.
Write code – Run code – Repeat.
Even so, the most frustrating feeling in the world is trying several different approaches and nothing seems to work.
As a college computer science student, I can attest that this has happened to me a countless number of times. Not only is it infuriating, but it can be discouraging to continue.
How to Overcome this Frustration: Ask the Right Questions
One way to soothe your young programmer’s frustrations is to remind them that this is normal and part of the process. No one writes perfect code on the first try or even the second.
It also might be helpful to encourage them to take breaks. Sometimes distance from the problem gives them the ability to come back later with a new perspective.
If your young programmer is still struggling to make progress, and you think it is time to step in and provide direct help – try asking them these questions:
Do they know which part is not working?
How did they expect their code to work? And Why?
If your child can answer these questions very specifically, then that is a good sign. Helping them look for credible online resources or joining an online coding community where you can pose your question would be a good next step.
If your child is struggling to answer these questions, then consider suggesting to break the problem up into smaller, more manageable tasks. For example, suppose your child is creating their own video game with characters that move around the screen and collect items. They might break up the problem into smaller tasks like this:
Get character to appear on screen
Get character to move forward
Get character to move backwards
Get item to appear on screen
Get character to interact with item
Create more items and more characters by repeating steps 1-5
If your child tries to tackle the whole problem all at once, it makes it difficult to pinpoint where they made mistakes and how to fix it.
Tip: Always be testing your code here and there before continuing!
Often the mistake first time coders make is they write a lot of code and then try to run it only to realize there is a mistake in what they wrote because the program does not run or runs in an un-expected way. The best way to minimize errors in the code, aka. Bugs in the code, is always be testing. Test each new line of code to ensure it works as you intend it before going onto to code the next line or next step because if you don’t and run your code after writing a lot of code, you won’t know exactly where the error is and this is more time consuming than testing each line as you go. In the end testing as you go saves you time and frustrations later on.
Frustration: It’s Taking Too Long...Maybe I’m Not Good Enough
I understand it can be frustrating when it seems like other students or peers in your community are coming up with solutions much quicker than you. Creating a viable solution from scratch takes a long time. Think of construction workers that build houses. They can’t just show up to an empty lot and build a whole house in one day. The builders draw and redraw blueprints for months. Then, one day at a time, they add more wood and more sheetrock until they have erected a fully functioning house.
Coding works the same way. Programming requires planning and working at your own pace to solve the problem.
How to Overcome this Frustration: Remember It’s Not A Race
Try to remember that it is not a race. As long as the program works at the end, then it doesn’t matter how long it takes to complete it.
Parents and educators, if your child ever feels discouraged to continue based upon the pace at which they work, then it can be helpful to remind young coders why they started coding in the first place.
Does your child code because –
They like learning?
They like to build and create things?
They like being able to express themselves?
They like the satisfying feeling of completing a really challenging puzzle?
If you have answered yes to any of these questions, then reassure your child that it doesn’t matter how long it takes them to finish a project. They do not need to work faster to enjoy learning, to enjoy creating something new, to enjoy expressing themselves or to enjoy the satisfying feeling of completing a really hard problem.
It is only natural for them to get better and faster with time and practice.
Boy on Ipad: Photo by stem.T4L on Unsplash
Frustrated Boy: Photo by DMCA on Pxfuel
Mother Helping Daughter: Photo by August de Richelieu on Pexels
Woman Teaching Son: Photo by Julia M Cameron on Pexels