Why we don’t have coding classes for 2 – 5 year olds
We often get asked by parents of 4 and 5 year olds as well as toddlers as to whether we offer coding classes suitable for their young child. We don’t do this because it doesn’t make much sense. You see, coding is a literacy that is based on reading literacy and numeracy.
Students need to be confident readers, we use terms such as “variable”, “if this happens then do that”, “when space key pressed”. See the image below to see what Scratch code looks like.
There are other programs that claim to teach 4 – 5 year olds how to code, but coding blocks with any simpler commands (instructions) lack the fundamentals concepts of coding, which we will cover further down in this blog post.
We also use a lot of maths, including addition, subtraction, greater than, less than, equality, XY coordinates, and positive and negative numbers. We can take younger students who are already achieving sufficient levels of literacy and numeracy. Some of these concepts are not covered until Year 5 maths (10 year olds), i.e. greater than, less than and negative numbers.
Here are the maths operations coding blocks that we use in Scratch. It uses coding blocks such as addition, subtraction, multiplication, division, random number generation, less than, equality, and greater than.
We control sprites (characters or objects) in a 2D space. We define this 2D space using XY coordinates, including both positive and negative numbers. The X coordinate ranges from -240 to 240. The Y coordinate ranges from -180 to 180. XY or Cartesian coordinates are not introduced into Australian classrooms until Year 4 (9 year olds) and then it is only using positive numbers. See the image below.
Coding as a literacy is based on 6 fundamental concepts. These concepts are simple for adults to learn, but involves some level of complexity which may prove challenging for 5 year olds. I like to use the analogy of a cake recipe to help explain what each concept means.
- Sequencing: placing commands (or instructions) in the right order so as to complete a task or solve a problem. E.g. the cake recipe needs to be followed from first step to last.
- Branching: allowing an algorithm to make a decision by checking on a condition. E.g. the cake recipe requires for you to check whether you have a fan-forced oven or not, the oven temperature will depend on the oven type.
- Iteration: writing code can be made more efficient by using iteration. E.g. let’s say the cake recipe has 10 steps (10 lines of code) and you want to make 5 cakes. Instead of writing 50 lines of code, i.e. the 10 lines of code (of the cake recipe) repeated 5 times, you can say “Repeat the following 5 times” then followed by the 10 lines of code (cake recipe).
- Arithmetic: we use lots of maths in coding, as mentioned above.
- Data storage: we need to store data, such as numbers used in arithmetic, text for display, or images, audio etc.
- Data in / data out: we need to input data e.g. key presses (keyboard), mouse clicks, camera, and microphone (input) audio and also output data e.g. screens, printing on paper, and audio output.
As you can see, coding is a useful literacy that can be applied in any problem solving task. It is a complex literacy that is based on reading literacy and numeracy. That is why our programs are for 7 year olds and older. Instead of teaching 5 year olds, who may be not ready, how to code, there are many other ways of engaging learning and problem solving. The best thing you can do for younger children is to encourage curiosity, play and imagination. Then when they are ready, we will be here to welcome them to our programs.
If you have any other questions regarding engaging 5 year olds and younger with coding classes