Tactile Scratch Electronic Block System : Expanding Opportunities for Younger Children to Learn Programming

This paper introduces our work on the development of a novel system for applying MIT’s Scratch to teaching classes of four to eight-years-old students. Scratch is a visual, block-based programming language designed for anybody to create a computer program without the worry of syntax errors by assembling icon-like command blocks. However, four to eight-year-old students have trouble using a computer mouse or keyboard and face difficulties when trying Scratch programming. This research developed a tactile, electronic block system that allows students to manipulate physical objects in a tangible way to conduct their programming tasks. The system consists of a Scratch simulator and physical, electronic blocks embodying the Scratch user interface shapes. We taught programming to the classes of second-grade elementary school students (eight-years-old) using our system. The results are encouraging. Our subjects’ interest in programming improved from 3.23 to 4.0 out of the scale of 5, and fifteen students out of twenty five were able to solve nine questions on sequence, loop, and control structure successfully, which are fundamental concepts of programming.


I. INTRODUCTION
Computational Thinking (CT) as a necessary ability in a modern society is gaining traction. In education sectors, there are many research projects for developing computational thinking among students. Among these efforts, programming is one of the best ways to help people develop their CT skills. There are various block-based coding languages designed for educational purposes. Among these, Scratch is popular and available in more than 40 languages and 150 countries. The Lifelong Kindergarten Group at the Massachusetts Institute of Technology (MIT) Media Lab runs the Scratch program, and Millions of people of all ages use it [1]. The core goal of Scratch is to teach programming to people without any prior experience. Scratch allows students to focus on programming concepts and logic instead of grammatical errors. It also makes programming more approachable [2].
However, according to the Scratch statistics page (https://scratch. mit.edu/statistics/) that shows the age distribution of new Scratchers, the number of four-to-eight-year-old users is substantially lower than that of Manuscript  twelve-year-olds, whose number is the biggest. That is, the twelve-year-old new Scratchers are 5,292,649 while four and six-year-olds are 104,693 and 234,751 respectively. Compared to twelve-year-olds, their percentages are 2.0 and 4.4 percents. It is well known that students have difficulties in using software like Scratch because they lack efficient hand-eye coordination (necessary for using a mouse) [3]. Especially, children under eight had trouble dragging and dropping [4].
To address this problem, we developed a tactile Scratch electronic block system that allows children to touch physical blocks and do Scratch programming. Our system consists of Scratch electronic blocks and a Scratch simulator. Using our solution, We conducted classes for early elementary school students. The results are encouraging. Their interest scores improved from 3.23 to 4. More than the fifty four percent of students correctly answered their questions in our assessment of basic programming concepts. We expect to four-to-eight-year olds to learn Scratch programming more easily by taking advantage of our system.

II. RELATED WORKS
As Computer Science is becoming important, there are many efforts made to promote Computational Thinking (CT) among children. The CS Framework [5] provides concrete concepts and methods for K-12 CT education. There are various ways to develop CT, but programming is one of the most effective options for teaching children CT. Elementary schools often use visual block-based programming languages to help their students develop their CT skills [6], [7].
Visual block-based programming languages, such as Scratch 1 , Snap 2 , Blocky 3 , Raptor 4 , and Makecode 5 have been developed to reduce the complexity of programming for inexperienced users and novice programmers. Among them, Scratch is most widely used in schools around the world as a means to introduce basic computer programming to children. Scratch is a free educational programming language which is geared towards kids ages of 8-16 from 2nd grade to high school with over 57 million registered users and 58 million shared projects.
Some block-based programming languages provide a scalability to handle sensors and actuators as real-world hardware. Scratch 3.0, the latest version of Scratch, also provides an extension to handle various physical devices such as Makey Makey 6 , Micro:bit 7 , LEGO MINDSTORMS EV3 8 , and etc., that is, it provides collections of extra blocks to program these physical devices.
Recently, several studies have been conducted on tangible block programming. Nicolas Villar et al. [8] developed a Torino which is a physical programming language for teaching computational learning to blind and low vision children. Using Torino, children can create code while connecting physical instruction pods and tuning the parameter dials to create music, audio stories, or poetry. Conference"17, July 2017, Washington, DC, USA Anon.
Zhiyi Rong et al. [9] developed a tangible programming toolkit for engaging blind and visually impaired students to learn fundamental programming concepts by creating a simple melody. This toolkit contains a set of blocks comprising tangible syllable blocks and several distinctive function blocks representing different programming concepts. They aim to help students to learn and get used to computing programming.
Má rcia Alves et al. [10] proposed a tangible block programming system which is referred to as Tactode. Tactode can create a puzzle with tangible pieces, take a photo and upload it in the app. In the application, the puzzle is compiled into executable code for robot, and it is possible to execute a real robot such as Ozobot, Cozmo, Sphero or Robobo robots etc.

III. SCRATCH ELECTRONIC BLOCK SYSTEM
The Scratch electronic system consists of physical blocks ( Fig. 1(a)) and a simulator ( Fig. 1(c)). We designed our blocks to mimic the Scratch blocks ( Fig. 1(b)) provided by MIT Scratch programming in terms of their shape and functionality. Our electronic Scratch block solution allows users to connect blocks with their hands just like LEGO blocks instead of dragging and dropping virtual blocks in a Personal Computer (PC)-based Scratch programming environment using a mouse. The blocks are magnetic and connects to each other easily and similar to their virtual counterparts in functionality. Our Scratch blocks are either masters (comparable to event blocks) or slaves. After connecting a master block to several slave blocks, a user can push a green flag button and trigger the master to communicate with the slaves and read the overall block structure. The master block then sends commands to the simulator which implements a stage where Sprites move around . Fig. 2(a) shows how our master electronic block Micro-controller Unit (MCU) [11] communicates with its slave block MCUs. The General Purpose Output (GPO) of a master block sends a signal to the General-Purpose Input (GPI) [12] of a slave below. Through Tx (Transmit), the slave block sends its information in the form of a signal to the master via Rx (Receive), and vice versa. The master block sends a sequence of command block information (i.e., block program) to a Scratch simulator, resulting in the movements 6 https://makeymakey.com 7 https://microbit.org 8 https://www.lego.com/en-us/product/lego-mindstorms-ev3-31313 of Sprites. General-Purpose Input (GPI) of a slave below. Through Tx (Transmit), the slave block sends its information in the form of a signal to the master via Rx (Receive), and vice versa. The master block sends a sequence of command block information (i.e., block program) to a Scratch simulator, resulting in the movements of Sprites. Fig. 2(b) shows the connection of a master block and 6 slave blocks. This research adopted 23 electronic blocks for teaching second graders Scratch programming in an elementary school. To do this, we first analyzed the CS Framework"s K-12 standard [5]. We chose the Algorithm and Programming Concept as our core for lessons out of the five concepts available through the CS Framework [5]. We then selected the "Great programs that include sequences, simple loops, and conditionals" in the Grade 3-5 (Age 8-11) standard of the concept. Considering the second grader level in elementary education, we finalize the choice of the Scratch 3.0 blocks for teaching sequences, simple loops, and conditionals. Table I lists the details of the Scratch electronic blocks we used. The Scratch electronic blocks implement most of the Scratch 3.0 blocks. However, there are some differences depending on the shape of the blocks. When a Scratch block represents a pair of commands (e.g., looping commands like forever and repeat or conditional commands like if then and if then else), we implemented them as separate blocks as in Fig.  3. The differences are minor and doesn"t cause any issues when students use the blocks to do Scratch programming.

IV. EXPERIMENTS
Our research subjects are twenty five second grade elementary students (eight-year-old) in Seoul, South Korea. The duration of our course was between June 25, 2020 through July 30, 2020. We met every Thursday for forty minutes during their creative experiential learning activity time. Two of the twenty five students who participated in our class had prior experience in block coding. The rest of the students (23) were first-timers.
The research question is "Will the classes using tactile Scratch electronic blocks affect interest in programming?". The hypothesis is "Students will have higher interest in programming after class than before class." Interest in programming means more attention, concentration, positive feelings or relatively enduring predisposition toward programming activities [13].

A. Scratch Programming Classes
We developed a Scratch course to test our hypothesis. We designed our course content to meet the CS Framework standard and used our Scratch electronic blocks developed inhouse. We had total six classes and students learn sequences, loops, and conditionals during the classes. Table 2 shows the class sequence of our curriculum. At the first class, students had pre-test of interest of programing and at the last class, they had post-test of interest of programing and interview. When using their Scratch electronic blocks, students wore vinyl gloves for the sake of safety(due to COVID-19)as shown in Fig. 4. and assembled electronic blocks and checked the simulator results individually. We shared the video of assembling blocks to implement algorithms with students. Fig. 4. Scratch electronic blocks use in the class. Technology, Vol. 11, No. 7, July 2021

B. Results
We assessed the level of interest in programming after teaching a course using our Scratch electronic blocks to students who didn"t have any prior experience with block coding.
We used a five-level Likert scale for students to express interests by providing them with survey questions. Table 3 shows the composition of interest survey in programming. To test the effect of our course, we analyzed the changes before and after the delivery of our curriculum. Table 4 shows the result. The p value is 0.000 and less than 0.05. Therefore, there is a significant statistical difference.
Students also submitted the reflections on their use of Scratch electronic blocks, which also indicated their heightened curiosity and interest in Scratch programming. Early elementary students were also more attentive during their classes because they were eager to test their results using our simulator after finishing the electronic block based coding.
Below are some samples of student reflection assignments.  "Coding is to issue commands to a computer."  "Coding is a cat moving."  "Scratch programming was fun. I also did it at home and had even more fun. I want to do it again."  "Coding was really amazing. I assembled electronic blocks, which, in turn, drew a line." In addition to our interest survey and interview, we conducted an assessment to test the understanding of programming concepts among our subjects.
The assessment of programming fundamentals tests if students understand the concepts such as sequences, loops, and conditionals. It consists of total nine questions (sequences: five questions, loops: two questions, and conditionals: two questions). Based on their types, we can also classify the questions into implementation (six questions) and error correction (three questions). Table 5 shows the details. Regarding identifying errors and providing reasons after reviewing the code and its outputs

Sequences and error correction
Students had either short-answer or essay questions. Fig. 5. shows the number of students who answered the questions correctly. Fourteen students(56%) completed all five questions including "sequence" concept, and twenty one students(84%) completed more than four of the five questions. 17 students (68%) have completed all questions, including the "loop" concept, and 22 (88%) have completed all questions, including the "event" concept. Of the 25 students who participated in the assessment, 84% successfully completed seven or more questions out of nine provided, 61% percent of the students accomplished all nine questions.

V. CONCLUSION
In this research we described our tactile electronic block solution that makes Scratch more accessible to early elementary students. We implemented our solution in physical, tactile blocks students can touch and manipulate. Scratch electronic blocks are a tangible programming language tool. Children under nine, who have trouble in using a mouse and keyboard can still experience Scratch programming by assembling the electronic blocks as they do with LEGO building blocks. We conducted our assessment, and the results are quite encouraging. Student interest scores increased from 3.23 to 4.0. This also provides evidence that early elementary students can understand CT concepts such as sequences, loops, and conditionals. In future, we plan to conduct classes for children under eight by using our Scratch electronic blocks. Our ultimate goal is to commercialize the prototype and popularize our product so that more early elementary students are exposed to a useful learning tool like Scratch.