Free apps, online tools, and applications
Governments, educators and businesses are well aware of the learning potential in learning to code, and coding to learn. As a result, there are a large number of excellent tools and resources for children to learn and play with code.
Online Tools (these run in a browser window on a computer)
Apps (for mobile devices)
Applications (for desktops, notebooks, laptops)
Resources (to learn more about coding & programming)
Intro & Overview of Scratch
How can I help my child?
You do not need to know how to code in order to help your child. You can provide the tools, support, encouragement and the interest in projects your child is creating. Some parents feel worried because they don’t know computer programming and cannot teach their children to code. But, modern ‘coding to learn’ tools, such as Scratch, create a place where children can play with code blocks, snap them together like LEGO bricks, and then see what happens when the program ‘runs.’ Very quickly children get excited, decide what they want their program to do and set about doing it.
But how can you make sure that coding lives up to its full potential as a new form of literacy and personal expression? Researchers at MIT suggest that coding should be introduced in school and at home using the “Four Ps” framework:
MIT Media Lab's 4P Approach to Teaching Coding
Further Reading: A Different Approach to Coding: How kids are making and remaking themselves from Scratch by Mitchel Resnick & David Siegel (2015)
What if my child is having difficulty?
Computer programming involves translating one's thoughts and ideas into a code that a computer can use to make those thoughts and ideas come to life. Mistakes happen often during this translation process and this is normal and expected. As a result, children (and professional programmers alike) are in a state of constant creativity, critical thinking, and problem solving. Coding is difficult but it can also be fun. In fact, a six-year coder once described computer programming as being hard fun.
Helping your child move from a fixed mindset to a growth mindset
It is important for children to understand that making mistakes is a common and natural part of programming. Fixing mistakes when coding is so common that it even has a special name: debugging. As a parent, you can adopt and model a “growth mindset” regarding challenges your child faces. The way children react to setbacks, to repeated mistakes, and “failure” is determined by their inner mindset.
Teach your child to pay attention to her/his inner voice!
A fixed mindset says: “if you were only smarter, you could do this” or “I can’t do this and I don’t want people to think I am stupid.” This voice tells your child he/she cannot grow and improve.
A growth mindset says, “I can’t do this yet” and “I need to work even harder to develop my abilities over time.” Teach your child to “talk back” to the fixed mindset voice. Teach your children to adjust their inner voice so that “fixed” inner talk becomes “growth” inner talk. Try to steer your child from being self-critical to self-coaching.
Further Reading: How can you change from a fixed mindset to a growth mindset? by Carol Dweck (2010)
The key to developing a growth mindset involves your child believing that their abilities are not rigid, and that they can get better by working harder, practicing, and not giving up. Usually the reason children give up is because they either feel they don’t have the ability or that they are not improving even when they are trying.
Sharing with and learning from others
Another way to help your child is to help connect them with other children learning to code. These can be friends your child knows as well as others who post coding ideas online. Scratch has a built-in, online community specifically designed to support children learning from each other about coding ideas, projects, and challenges.
Your child will always be excited to share with you what they are coding and how it works. Making sharing a regular activity is also essential for engagement and effective learning. Teachers / parents also benefit from creating their own coding projects so that they can be shared with their students / children.
Scratch Jr (Android and iOS app)
Scratch (Web-based - scratch.mit.edu)
BBC micro:bit (Web-based - makecode.microbit.org)