ScratchJr is a visual programming language designed to introduce coding skills to children ages 5–7. By creating projects in ScratchJr, young children can learn to think creatively and reason systematically, despite not being able to read. It is available as a free app for iOS, Android and Chromebook.
ScratchJr is a derivative of the Scratch language, which has been used by over 10 million people worldwide. Coding in Scratch requires basic reading skills, however, so the creators saw a need for another language which would provide a simplified way to learn coding at a younger age and without any reading required.
ScratchJr was developed by the MIT Media Lab, that also developed Scratch, in cooperation with Tufts University and The Playful Invention Company. It was granted a $1.3 million from the National Science Foundation and raised additional funds on the Kickstarter platform.
The initial release was launched in July 2014 for iPad; an Android version was released in March 2015 and a Chromebook app followed in March 2016.
There is also a version called PBS Kids ScratchJr, which was released in partnership with PBS Kids in 2015. This version has sprites and backgrounds drawn from popular children's animated series such as "Nature Cat" and "Wild Kratts".
Children create code in objects called sprites - which can be characters or things. ScratchJr comes with a library of sprites, and sprites can be edited or new ones created using the "Paint Editor".
Code is created by dragging blocks into a coding area and snapping them together. All the blocks are completely icon-based (no text) which is how children can use this language before they can read. Blocks are connected from left to right, like words.
The user interface is much simpler than that of Scratch. Both the number of categories of programming blocks and the number of blocks within each category have been reduced, so that only most basic ones were retained.
|Triggering||Starts scripts and sends messages to other scripts|
|Motion||Moves sprites and changes angles|
|Looks||Controls visibility, costumes, and bubble speech output|
|Sound||Plays a "pop" sound or a recorded sound|
|Control||Repeats a part of script a specified number of times|
|Endings||Ends, infinitely repeats, and goes to the specified page of the project|
In addition to sprites, kids can add backgrounds to projects, to give them a setting and atmosphere. Each background is treated like a page in a book, and has its own set of sprites. A project can have a maximum of 4 backgrounds.