Blog

5 programming languages for children and beginners

It's no big news, that nowadays there is a high demand for graduates from Computer Science in the market (considering the possibility of graduates getting employed). That is why many parents hope that their offspring will one day choose a similar path. Do you have a bright, responsive child at home and do you notice that he or she enjoys logical games or even excels in them? You can try to guide them step by step onto the road to become (not only) a software developer and participate on building their potentially successful future. How to do it? There are many programming languages and tools that are suitable for children and beginners with basic knowledge of English language. We will bring you closer to five of them in this article.

Scratch

Scratch is a kid's programming environment created by Lifelong Kindergarten Lab (MIT Media Lab). It offers tutorials for beginners, information for parents and a large community of online users.

Scratch is based on connecting colored blocks intuitively to create a more complex object. These blocks represent individual programming components, for example actions and events. Every block has a puzzle-like form and therefore it can only be combined with a compatible block.

It is possible to create simple animations with this programming language by using default or uploaded pictures or symbols. Scratch can be used offline, but it is also possible to share your creations with other users online.

All of the mentioned functionality and Scratch is . Jeho vplyv zrejmý aj v ďalších spomínaných programovacích jazykoch, napríklad Blockly.

Recommended age: 8 - 16 years
For younger children there is another tool - ScratchJr which is suitable for 5 - 7 years old kids.

Blockly

Blockly was created by Google and its principal is similar to the one applied in Scratch - connection of blocks. The main difference is that the output code can exported into various programming languages - at the moment those are JavaScript, Python, PHP, Dart and Lua.

The code is visible on the side panel and it changes immediately according to the manipulation with the blocks. The panel also contains a possibility to switch between the programming languages which provides a great opportunity to realize and learn the syntax differences among the languages within the same program. This functionality makes Blockly the ideal tool for programming schools not only for children but also for older beginners.

Blockly is a paid service, but it is not as developed and doesn't provide as many tutorials as Scratch yet. On the other hand it has a great potential to become a programming environment suitable for all age categories in the future.

Recommended age: 10+ years

Alice

Alice is a free of charge 3D programming tool developed at Carnegie Mellon University. It is suitable for teaching object oriented programming languages like C++. It similarly makes use of connecting blocks which allow children to create games or animations by programming movements of a camera, 3D models and scenes. These programs can be converted from Alice to Java IDE, for example NetBeans. This makes switching from graphic interface to standard interface of programming language much easier.

Recommended age: 10+ years

Swift Playgrounds

Swift is a programming language for development of iOS mobile applications and Swift Playgrounds is a free of charge game for iPad by Apple, which shows children and beginners around Swift and subsequently teaches them how to program in this programming language.

This application contains a large amount of tutorials which help with learning different Swift commands. You can move a character named Byte and help him overcome obstacles in a 3D environment by using these commands. Even though no prior experience with programming is required, some amount of patience is necessary. This application is not based on work with blocks as the previous ones, therefore the learner probably won't avoid making a few mistakes.

Recommended age: 10+ years

LEGO Mindstorm Robotics

Many children prefer programming that has real world outcome. That's why robotics is another very popular way of learning programming. There are various packages (software and hardware) for programming robots, but system LEGO Mindstorms has one of the largest user communities and an application for visual programming suitable for kids.

Programming software LEGO EV3 runs on tablets and PCs is based on connecting blocks (LEGO blocks in this case) just like Scratch or Blockly. The programming language is easy enough for younger kinds, but can also be a challenge for older children or adults. 

LEGO uses an open-source Linux kernel besides LEGO Mindstorms programming environment. The program can be modified by traditional programming languages like Python and C++ when using the kernel.

Recommended age: 10+ years (younger with supervision)

Other possibilities

Minecraft mods or programming of 3D games using Unity 3D game environment is an excellent choice for older children (high school students). Remember that programming can be very frustrating at the beginning and involves a lot of troubleshooting by trial and error. Even if your child doesn't choose the career path of a developer, he or she can obtain an important skill of patience and persistence thanks to programming.