Block-based and text-based programming. How do kids learn to code?
Can children who can’t yet read and write learn programming? The answer may surprise you, but… yes! This is possible thanks to block-based (or visual) programming, which brings them a lot of fun and satisfaction and at the same time is a great way to start their coding adventure.
At Kids Coder Lab, we use various educational platforms for block-based programming, with the most popular being Scratch. During classes with such platforms, students use icons rather than texts – that’s how they are able to start coding even before they learn to read and write.
Block-based programming from scratch – step by step
In our school, children take their first steps in block-based programming during the Adventures with coding course. The curriculum here does not require children to read or write. It guarantees great fun and gales of laughter that are music to our ears during classes.
During the course, children visit the various planets of a virtual universe and on each one they learn new topics related to coding. They arrange paths, learn loops, and become acquainted with conditions. On one of the planets they have to shoot down asteroids, but first they learn how to do it – with only a limited number of moves, they need to think their decisions through. In other scenarios, they move around in a garden that they must guard against creatures, by setting up defenders of various types. Each class is a new adventure.
Navigating on the screen requires children to learn the simplest movement sequences and repeat them using loops. It still doesn’t require them to read or write – instead, icons and arrows help them with coding. Similarly, when learning functions children learn to define them – for example, by assigning function 1 to the “left, right” movement. Young students don’t even realise how many new things they are learning – the intuitiveness of the course means that learning is fun for them.
When children are learning to read and write, we prepare them for the use of such platforms as Scratch or Blockly (these are covered in the Computing Masters course). Students use the available code blocks to create solutions to various problems. Some of these tasks involve programming stories and arranging mini-games in which they teach games to react to specific player behaviours. Further tasks give them the opportunity to draw geometric patterns and their repetitions, while others allow them to search for the characters’ behaviour patterns and programme them accordingly.
In this way, children learn about all language structures: different kinds of conditional statements and loops. They solve problems and as a result they develop spatial thinking and the ability to deal with the obstacles they come across.
Block-based coding therefore allows children to understand how functions and algorithms work. Children apply properties, variables, objects or classes, and they become familiar with conditions and loops. This is a huge step towards text-based programming.
When will my child start text-based programming?
Many parents ask themselves this question – after all, block-based programming can often be associated with fun rather than real learning. It’s worth being aware that the process of learning text-based programming cannot be accelerated. If the child does not grow up with it, it’s likely to seem boring to them – after all, these are just lines of text.
The good news is that in our courses for children who can read and write, text-based programming appears during every class. To illustrate the transition from block-based programming to text-based programming, we have prepared some simple examples.
Block-based and text-based programming – how to transition smoothly
A first small step towards text-based programming might be, for example, a change in the way children choose the number of repetitions they want their character to do. At first they will simply choose the number of repetitions from a list. Later on – while still programming with blocks – they no longer click on the drop-down list, but instead enter the number manually from the keyboard.
Another situation that is conducive to taking the next step towards text-based programming is coding a mini-game. When the character has to say something, at the beginning the children use ready-made templates to choose phrases such as “Hello!”, “How are you?” or “The weather today is nice”. At the next stage, they enter these texts themselves. These small elements appear gradually during block-based courses and help children to get used to working with lines of code.
A course that provides a smooth transition to text-based programming is the hybrid coding course Interactive projects in Python. Students can still drag blocks, but after doing so they can see Python text on their screen. If they want to make changes to the code (to change coordinates, character name or what the character says, for example), they have to do so by text.
At this stage there is still the familiar option of dragging blocks, but we encourage students to walk away from this, and we cheer for coding like “true professional programmers”. An additional help for students is a feature that shows what commands are hidden underneath when they hover over a block.
The transition to text-based programming with Minecraft
Minecraft also supports a smooth transition to text-based coding. The Code Builder tool in Minecraft works in two modes: block-based and text-based. You can switch modes at any time, so that children can see either blocks or text. It works in a simple and intuitive way to achieve tasks such as changing the language on the bank’s website.
Depending on the age group, it’s likely that children will first programme block-based coding and simply watch the text version of the code. Only more advanced groups (e.g. at the Master level) begin to programme directly with text – and this also depends on the age of the participants of the particular edition of the course. It may be that the Master course for younger children will be conducted with blocks, while a version for older children would use text-based programming. However, it will not launch straight into text-based programming: this process begins in the Programming in Python course and in the new Python App Lab course.
Programming for children in Kids Coder Lab
Block-based programming is a great tool for introducing children to the programming world. Students who start with block-based coding will naturally transition to text-based coding. Arranging the learning process in this way means that children are not immediately faced with code expressed in text form – something that might seriously discourage them from programming.
We know that in an ideal world everyone would combine learning with fun in block-based programming. In reality, not every child has had the opportunity to learn to code before they could write and read. That is why, at Kids Coder Lab, we make sure that children can comfortably enter the world of programming regardless of how old they are. We will be happy to help you choose the programming course your child needs.