Be Smart – Learn How Computers Think

Help Your Child Tell a Computer What to Think Rather than it Tell Them

One of the best ways to help your child be smarter than the smart devices around them is to help them understand how computers think.

The best way to do this (and give them valuable skills, and CV points for a career in technology) is to help them learn about programing a computer. This gives them the skills to tell a computer what to do, rather than the computer tell them what to do!

Below is a quick tour of several sites that help children learn the basic skills of programming (or coding as it gets called these days). The list is broken down into broad age groups, but the sites are useful for any ages. And yes, even you as a parent can still learn to code too. Useful for helping your child with their learning, or as a career change for yourself!

Tools of the Trade

For your child to learn to code, all they really need are three things:

  1. An internet connection
  2. A computer
  3. Their brain

No. 1 is obvious as all the links below are internet based.

No. 3 is being flippant, as everything your child does needs their brain (except maybe vegetating in front of YouTube videos of funny cats or fails of people increasing the world stupid level).

No. 2 – A computer – is a little nuanced. For many of the sites / activities listed below, a lot of the coding skills the children can learn are through dragging and dropping ‘blocks of code’ to build their programs. For these types of sites, a keyboard isn’t necessary, so either laptop or tablet can be used.

For the more advanced sites (for older children) they will be learning by typing in actual code, so a computer keyboard is necessary. A tablet will be a pain to use, even with an onscreen keyboard.

Age 0-5

A sixth-month old baby doesn’t need to code!

In order to code, there are several fundamental skills a child needs to learn first – including reading and basic math skills. So, for this age, even though you are eager to have your child be the next Bill Gates or Mark Zuckerberg, help them with more general life skills first.

Age 5+

At this age, the start of your child’s coding journey, they won’t necessarily be learning specific languages like JavaScript, or Python, or C++, or Java, or … (the list can go on for a while). It will be a lot less confusing for them to learn the structure of a computer program.

The idea of putting instructions in a logical order to get the computer to do what is wanted. The early introductions to programming below are helping children with this basic requirement.

These sites also introduce other structures of computer programs, like looping – getting the program to repeat a step – and branching – getting the program to run different commands dependent on some choice, either from the user or from some data input into the program.

ScracthJr

Scratchjr logo

ScratchJr is part of the Scratch Foundation (a collaboration between MIT, Tufts University, Playful Invention Company).

ScratchJr is available as a free downloadable app for Android or Apple iOS.

Hour of Code

As the name suggests, Hour of Code tutorials are byte-sized learning exercises aimed to take about an hour to complete.

The tutorials are created by people from different organisations, and reviewed to be included in the site’s extensive list.

Blockly Games

Blockly bills itself as an introduction to games programming, which will be a big incentive for lots of kids.

In many ways it uses similar ideas as Scratch (see below), dragging and dropping ‘blocks of code’ to build the instructions (or program).

Age 8+

Scratch

Scratch, as you would expect, is the older sibling of ScratchJr.

Scratch is more of a community site, so some of the content is not always pure coding lessons, rather some projects are what other users have created and posted. Think of them as examples of what others have done, rather than tutorials.

Code <For> Life

Code <For> Life again uses the ‘blocks of code’ drag and drop functionality to build up programs.

The Rapid Router is an extensive and very well structured learning path. With over 100 levels, it works through basic ideas of programming, including looping and branching to more advanced ideas like procedures or function. At the highest levels it introduces the writing of actual code using the Python language, one of the most popular and sort after coding languages.

Tynker

Tynker is a subscription based side with a wide range of coding learning resources for children of all ages 5+.

It is a subscription based service, but there is a free introduction/taster facility.

Age 12+

Code Today

codetoday run online coding classes teaching coding to children using the Python programming language.

The format they use is week long courses delivered via online classroom sessions.

VEXcode VR

VEXcode VR is a virtual 3D version of the classic early coding experienced of programming a small robot to move around the floor.

Given the current state of planetary exploration, learning coding on this site could be seen as early experience for driving rovers on other planets!

freeCodeCamp

This site is a huge resource for anyone wanting to learn programming in a variety of languages.

This site is not specifically for children, but those thinking seriously about wanting to code as either a career, self-education, or hobby.

The Responsive Web Design learning path covers the basics of HTML and CSS and goes through how to build full blown web pages.

The JavaScript Algorithms and Data Structures learning path is an introduction to the highly popular, and highly sort after career skill JavaScript programming language.

Feature Image by Felix Mendoza from Pixabay

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s