Learning to Code... Coding to Learn...
Using free coding tools to help children think and act creatively
(Link to Prezi: https://bit.ly/codingtolearn)
What is coding?
Coding is the act of writing simple instructions or commands in an organized way that tells a computer or device to do some specific task. Apps you use on your Smart Phone are examples of commercial software. Apps are actually very large, logical programs of code crafted in order to make your device do something useful, fun or productive.
Why should my child learn to code?
Coding can help your child to think and learn. It is a creative, challenging, and rewarding experience that happens at the pace of your child’s own thinking. It is “learning by doing” because your child can design, create, test and redesign her/his code (see chart below) so that an idea they have can become a real thing on a device and be shared with others.
Being able to think and act creatively in order to solve a wide variety of problems is one of the most important competencies that children can develop. In fact, spending time and effort to develop competence in this area (thinking & acting creativity) is one of the best ways we can prepare children for a world of constant change.
Further Reading: Empowering Modern Learning by Peel District School Board
Children can create games, animations, stories or a wide variety of other projects. Or children can use code to solve problems and explore mathematical concepts. Coding and programming builds technological fluency because it allows students to not only interact with technology but also to create with it.
Free online tools, apps 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 are freely available.
Online Tools (these run in a browser window on a computer):
- Scratch (7+) – https://scratch.mit.edu
- Blockly Games (7+) – https://blockly-games.appspot.com
- Code.org (7+) – https://code.org/learn
- Codeacademy (13+) - https://www.codecademy.com/
- Appinventor (13+) - http://appinventor.mit.edu/
- SNAP (7+) - http://snap.berkeley.edu/run
Apps (for mobile devices):
- ScratchJr – iOS & Android
- Tynker – iOS & Android
- CargoBot – iOS
- Hopscotch – iOS
- Daisy the Dinosaur – iOS
Applications (for desktops, notebooks, laptops):
- Scratch – Windows / Mac / Linux
- Alice – Windows / Mac / Linux
- Stencyl – Windows / Mac / Linux
- Kodu – Windows
Resources (read more about coding and programming):
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:
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 ones 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. 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 said that computer programming is “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 and to what it is saying. 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 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.