When we think about all the things that we recognize as “essentials” to our children’s learning, the list can get really long very quickly. Recently, several high-profile individuals are advocating to add another thing to that list, coding.
Coding is the set of skills and concepts used to modify or create software on a computer or mobile device. Coders are responsible for the apps that have become such an important part of our lives but there’s a huge shortage of people with this skill set. To meet demand, it’s estimated that another one million programmers will be needed by 2020.
- to understand the digital tools that are an integral part of our lives
- to engage with the kind of thinking similar to learning a new language
- (and this is the most important) to practice problem-solving through computational thinking
“Computational thinking teaches you how to tackle large problems by breaking them down into a sequence of smaller, more manageable problems. It allows you to tackle complex problems in efficient ways that operate at huge scale. It involves creating models of the real world with a suitable level of abstraction, and focus on the most pertinent aspects. It helps you go from specific solutions to general ones.”
“Why every child should learn to code” by Dan Crow theguardian.com Friday 7 Feb. 2014
|UWCSEA Hour of Code by @klbeasley on Instagram|
When suggesting appropriate entry points with kids, it’s important to consider two factors:
- How old are they and what is their level of experience already with coding?
- What interests them most? Here are five basic interest areas they could engage with: animation, games development, app development, web development/remix, and physical computing.
Here are a few key apps and resources that you can use to help a child get started with learning to code or extending their knowledge to include computer science fundamentals.
Getting started with younger children (3-7 years old)
Kodable uses a maze game to teach basic logic, sequence, loops and functions with directional command blocks. A great feature of Kodable is that it introduces the youngest children to the concept of debugging, trying to solve problems with their code when it doesn’t work as anticipated.
Introducing coding to older children/pre-teens (6-13 years old)
Hopscotch is an object-ordiented programming app for the iPad that has a great slogan.
“We founded Hopscotch so we could build the toys we wish existed when we were kids.”
Using object blocks, children can create characters that respond to multi-touch gestures and sounds. These can be combined to create games, animations, etc. based on stories in the child’s mind and see them come to life on the iPad.
Scratch is another MIT creation that uses object blocks to help children make interactive stories, games and animations. Our own students are currently coding in Scratch to produce a series of mini-games about life at UWCSEA East. Find out more about what kids can learn from Scratch.
Code.org has a collection of resources for all levels of learning coding and computer science. They’ve recently released a K-8 Intro to Computer Science course that is worth exploring in addition to their wide variety of tutorials across several different coding languages.
Make Things Do Stuff is a site that takes kids through a series of DIY projects for the usual websites, animations, apps, and games but goes one better by including a section on physical computing projects.
Extending the learning
Mozilla Webmaker is a project that helps people create great web content while also teaching how the web works. This is a great next step for students interested in web-design or content creation.
Harvard CS50x is a self-paced introduction to the foundations of computer science and programming. This would be a great thing for kids who have an interest in going beyond object-oriented programming. The course can be taken for free or fee-based with a certificate.
Stanford CS101 is an excellent introduction to computational thinking before a student enrolls in a full programming course. It can be done self-paced without a certificate or during a session.
These resources can put your children on a path to exploring computer science and maybe they’ll develop a passion for it. There’s no one right path, and as their parent, don’t feel like you need to know all the answers. You just need to give them the opportunity, praise their effort, and let them know you value their explorations.
What are your favorite resources or approaches? Are you facing any challenges? Please add them to the comments to continue the conversation.