3 April, 2020
For the best chance of mastering another language, the earlier you start, the better! This doesn’t just apply to foreign languages, but to programming languages too. While coding may seem like a complex task involving reams of typing and syntax, there are several platforms which don’t involve typing at all. These are known as visual programming languages (VPL). They allow children to learn the main concepts of programming by experimenting with sequences of drag-and-drop blocks; the underlying code is written as the blocks are combined. There are a number of benefits for children learning to code with VPLs before they can type.
For children of a young age, the most important thing is to ensure that their introduction to coding is via an eye-catching and fun platform. As a result, VPL platforms are highly interactive and generally involve puzzles and games. This provides a visual demonstration of the code’s progression and allows children to easily experiment with sequences of code, making it much clearer than attempting to grasp an abstract concept. In this way, they’ll be able to explain their projects to friends and family, and maybe even encourage them to join in! Another benefit is that visual kids coding languages translate well onto a touch interface, so children can learn to code on low-specification devices and don’t need expensive and space-consuming hardware.
It’s important to note that learning to code with a VPL will not restrict children in future programming opportunities. The concepts they learn are transferable across both visual and textual interfaces. These languages are therefore a good starting point for understanding the basic elements of programming before learning to type and progressing onto text-based interfaces. So which languages are appropriate for children who haven’t yet learnt to type?
One VPL which is particularly good for young children is Kodu, on which kids can create video games for PC and Xbox. Kodu’s interface was inspired by robotics and involves combining different icons into conditions and actions (WHEN/DO), which then creates a rule. The rules combine to make a page, and the pages make up the program. The icons are accompanied with a text label, but no typing is required. With these simple commands, children can build a colourful 3D game world to be explored by a character of their choosing, and can play the finished product! It’s also possible to download a textual version of the visual code, giving a glimpse of how text-based interfaces look.
Alice is a VPL designed to introduce children to coding, and is great for younger kids. Its name pays homage to Lewis Carroll, author of the Alice in Wonderland books, a mathematician and novelist who understood the importance of communicating in a clear and entertaining way. With Alice’s drag-and-drop interface, children build a 3D world and fill it with objects. The objects, which include people and animals, can be modified and animated with coded instructions, written by dragging blocks into the program to create rules. These actions introduce children to the basic logic and concepts of programming without the need to type. Children can also add custom audio and background music, adding to the narrative of their worlds and creating an immersive experience! Children can get help from the Alice community via the platform’s forum, and showcase their work on Alice’s website after finishing their project.
Alice’s older version, Alice 2, is more accessible for younger children as it focusses on the basics of logical and computational skills. Alice 3 covers more advanced concepts, with an emphasis on object-oriented programming. It is therefore recommended for older children who wish to progress to textual languages, especially Java.
Scratch is a hugely popular visual-block kids coding language, nicknamed the ‘YouTube of interactive media’. Inspired by Lego, the blocks in Scratch have different shapes to indicate which others they connect with; blocks which don’t make computational sense to combine literally can’t fit together, so errors are not possible. Children have the freedom to develop a diverse range of projects – stories, games, animated characters and simulations – and can also personalise their projects with visual and audio files. All of this is achieved with no need for typing proficiency. As Scratch teaches more advanced concepts it is designed for slightly older children of 8 and above, although the VPL ScratchJr is designed for even younger children. Scratch’s user base can prove highly motivating for budding coders. They can upload their own projects to Scratch’s site and receive feedback and praise, ‘remix’ the projects of more advanced users, or even collaborate with other coders!
Google’s answer to Scratch is Blockly. A number of educational applications have been developed using this language, the most popular being Blockly Games, which gradually introduces more complex programming concepts in an easily understood visual manner. Children take jigsaw-like blocks out of their toolbox and arrange them on a blank workspace to create sequences, before running the code to see if they’ve completed the task. Upon completion, a Java textual version of the graphical code is shown on screen.
The tasks increase in complexity and the blocks must be connected in ever-more elaborate combinations. Interestingly, on the main Blockly platform, users can see how the visual code they’ve created would look in many different programming languages. Blockly is available on all major web browsers, and as it was developed to be used at home, can be run on low-spec hardware.
Thanks for reading this article and if you have any questions or comments on this topic or coding and STEM in general, please feel free to contact us.