Popular Tools to Teach Kids Programming

Currently there are many choices for the kids to learn coding. Is it confusing to know their differences and choose an appropriate one? Let’s take a look.


Scratch is one of the most popular coding tool for children. As we introduce below, you could see that many tools such as ScratchJr and Snap were based on the idea of Scratch and made their customisation or enhancement to cater to various learning groups.

Scratch is continuous enhancing. In Feb. 2019, it released Scratch 3.0, embedding upgraded software infrastructure, and more powerful functions. Among them, it could connect to many other 3rd-party software, such as the popular Lego Mindstrorm series robots, Lego Booster robots, and Pi Raspberry. In this way, Scratch successfully make it more open and connected to the hardware side.

The coding community of Scratch is popular. Besides its own official website, there are many other websites or forums to present the innovative projects made from Scratch. That is why the instructors of theCodingFun.com choose to use Scratch for the kids coding lesson.


Tinkercad is a free online collection of software tools that help people all over the world think, create and make. Its operation is easier and the company has set up dedicated team to cater to the requirement from educationors and students. Recently, Autodesk has announced that all this subscribed functions have been free, including allowing unlimited storage of design models.

The Autodesk team also plans to continue to develop the 3D modeling application platform, adding more powerful import and export functions.

In the past, Tinkercad could let user create 3D model by dragging and dropping building blocks. Now Codeblocks is a very cool new way in Tinkercad that lets you use your code blocks to make your imagination come alive.

screen capture from https://www.tinkerCAD.com

TinkerCAD is focusing more on artistic design and imagination. Whether you want to simulate a real object in the real world, or you want to create a virtual image out of pure imagination, TinkerCAD is a good choice. It could be a part of art design design courses to enhance students’ understanding of 3D modelling capability.


Code.org® is a nonprofit organization dedicated to expanding access to computer science in schools and increasing participation by women and underrepresented minorities. Its vision is that every student in every school has the opportunity to learn computer science, just like biology, chemistry or algebra. Code.org provides the leading curriculum for K-12 computer science in the largest school districts in the United States and Code.org also organizes the annual Hour of Code campaign which has engaged 15% of all students in the world (Reference from code.org website)

Screen capture from code.org

One advantage of Code.org is that it has designed a very completed step-by-step, grade-based and systematic course for both learners and teachers. If you are a teacher without any prior coding experience, you could even teach students soon if you patiently follow their teaching syllabus and utilise the teaching materials, such as brochures, teaching content, assessment paper. All are ready for you for free. As a learner, you could study all the courses from elementary level (covering both pre-school and primary school) to advanced level (for middle school and high school). I was shocked by the completeness of the material when I login onto the website for the first time.

Screen capture comes from code.org

The function and interface of the editor provided by code.org look similar to Scratch editor. Furthermore, when you open a project and browse the block code language, you even can choose to look at the backend Javascript code, which offers a bonus for the students wanting to know more behind the block-coding language.

Javascript behind the block-based coding


ScratchJr is an introductory programming language that enables young children (ages 5-7) to create their own interactive stories and games. Children snap together graphical programming blocks to make characters move, jump, dance, and sing. Children can modify characters in the paint editor, add their own voices and sounds, even insert photos of themselves — then use the programming blocks to make their characters come to life (Quoted from ScratchJr website).

ScratchJr was inspired by the popular Scratch programming language (scratch.mit.edu), used by millions of young people (ages 8 and up) around the world. In creating ScratchJr, the organization redesigned the interface and programming language to make them developmentally appropriate for younger children, carefully designing features to match young children’s cognitive, personal, social, and emotional development.

Screen capture from ScratchJr website
The interface is more appropriate for younger kids

ScratchJr is a collaboration between the DevTech Research Group at Tufts University, the Lifelong Kindergarten Group at the MIT Media Lab, and the Playful Invention Company.


Snap! (formerly BYOB) is a visual, drag-and-drop programming language.Again, It is an extended reimplementation of Scratch (a project of the Lifelong Kindergarten Group at the MIT Media Lab) that allows you to build your own blocks. It also features first class lists, first class procedures, and first class continuations. These added capabilities make it suitable for a serious introduction to computer science for high school or college students.

One of the limitations of Scratch as a language for computer science education is that its lists are not first class, so you can’t have a list of lists. Making lists first class is enough of an extension to Scratch to allow the creation of any other data structures (trees, heaps, hash tables, dictionaries, and so on) in user-defined Snap! code, implemented as lists of lists.

Screen capture from https://snap.berkeley.edu


All of the above tools are good choices. For Scratch, ScratchJr, Code.org and Snap, the concept is to let children get familiar with computational thinking and express their ideas and logic thinking by using block-based language. Scratch is also a foundation for students to move forward to Python study in the future. While TinkerCAD focuses more on 3D design, on the artistic design and development of 3D imagination capability for kids.

The common feature of those tools is they are web-based and for free. if you can access the web, it is what it needs to begin your journey of exploration. You login in, create your project and remix others’ projects, save and publish your projects online. I would say all of those organizations create a great place for kids to learn. The only requisition is that you want to learn and persist!

No matter which tool parents and children choose, one important reminder is to focus on computational thinking and explore methods to express your ideas and logic thinking, instead of only knowing the functionality of the tool.

Note: All the analysis articles are copyright products of http://www.thecodingfun.com. Anyone re-posting them should credit author and original source. Anyone using them for commercial purposes or translating them into other languages should notify TheCodingFun and get confirmation first. All Rights Reserved.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.