There are many reasons to learn to code from an early age, so it is important for children to see programming as a fun and creative activity they can enjoy. Teaching children and adolescents how to code in an entertaining and motivating way can be a great challenge but fortunately there are now a wide variety of tools which allow young people to take their first steps into the world of programming. This week we want to talk about 5 free or low cost tools that are perfect to get you started in different areas such as programming, 3D modeling, robotics or electronics.

1. Scratch

Created by the MIT Media Lab and used every day by lots of schools, Scratch is probably the best-known tool for introducing programming and computational thinking to children. It is a visual programming language which allows us to create animations, games, interactive stories… And, most interestingly, it allows people to share projects with other users who can make their own version. Scratch is free and very easy to use: instead of writing code, users only have to drag and drop blocks that allow them to perform certain actions that serve to create interactions between characters and objects and build the story of the game or animation.

The official Scratch website suggests different projects to get to know the program. Although it is a simple language, you can do projects of different levels of difficulty using Scratch and sometimes it can be difficult to get the most out of it. In this sense, we use Scratch in many coding camps and adapt the tool to the age of the students: “Story Time is a course for children from 6-7 years old and it teaches them how to code through classic tales, while in “Video Game Programming with Scratch” students learn to plan the different stages of designing a video game.

2. AppInventor

When children have a special interest in creating apps, the best tool to experiment and see if they would like to learn creating them is AppInventor, which is very similar to Scratch and was also created by MIT. Using the same graphic blocks system, AppInventor allows us to create mobile applications for Android quickly and easily, without having prior knowledge of programming.

If you’ve already tried using AppInventor and want to go one step further, you can mix the creation of apps with games programming in Scratch or robotics with Arduino. This is what we do in the coding camp Robotics campus with Arduino and AppInventor, where we learn both how to build a robot and how to create an app to control it from our mobile phone, or the course Building our console with Arduino + Scratch + AppInventor, where we combine these three technologies in a creative way.

3. TinkerCAD

TinkerCAD is a free online program which is perfect for getting into the world of 3D modeling. It is an environment for creating 3D objects, which can be designed for both printing and use in 3D games. TinkerCAD is easy to use and a visually appealing tool, so you can encourage children to make their own creations. The objects that can be made with this tool are relatively simple, but it is especially useful for learning to play with space, grouping figures or getting used to the different file formats taking into account their purpose (being printed or used- for games).

If you have already started using TinkerCAD and are looking for new projects to practice and learn more, we recommend you the 1DAY1CAD YouTube channel, with many suggested projects to create different objects. And, if you have problems learning to use it and would like to take an online course, you can contact us to find out more about our coding camps.

4. Processing

Processing, which was also created by some members of the MIT Media Lab, is an open source development environment that uses its own programming language, which is based on Java. It is designed to be used by people without coding knowledge, is easy to learn, and in fact is often used to teach the basics of programming and also as a tool for producing artistic or visual projects. The environment is free and has good documentation in English, so despite being a simple language it allows us to create very elaborate projects.

This summer Codelearn is launching its first “Video Games with Processing” course, designed for students from the age of 12. We will learn to use the programming language and the environment by programming simple video games. If you have visited the website of Processing and think you’d prefer to get help with the first steps, ask for more information about this course.

5. Arduino

For those kids who are interested in electronics, Arduino is an open source hardware platform based on a board from which interactive electronic objects, such as robots or home automation systems, can be created. Everyone can create and modify their boards as they wish, as well as program applications and place them on an Arduino board using its own programming language. In this case, you would have to buy the boards and connectors, but creating projects with Arduino does not involve any other cost and gives a lot of freedom to create.

It is really easy to find many projects online that can inspire you to work with Arduino. It is a great tool for working on STEAM projects and combining different technologies and areas of work. One of our favorite camps is “Automatic Irrigation System with Arduino”, which is just a small sample of the possibilities this platform offers to create whatever you can imagine.