In the early 1990s, my father took me to an educational center to start a programming course for youngsters.

At that time there was an easy programming language called "logo" that was used to teach youngsters programming thinking, which is the basis for learning programming.

At the time, I didn't understand the point of the course and that it was focused on programming thinking, and I expected her as a kid to learn how to program games that I've always loved, but unfortunately I was disappointed and left the course without achieving what I expected.

Years after this incident, specifically after entering the computer programming major, I understood what that course should have taught me, which is programmatic thinking.

## Programmatic thinking

Parents should know that teaching programming to young children begins with teaching them programming thinking, not programming in its dry form. Programming is one of the basics that children should start with, and through their understanding of these principles, it can be the first step for them in the world of programming.

Programmatic thinking gives the child the ability to understand how programs and computers work, which is undoubtedly different from the logical way of human thinking.

for example:

A simple addition operation like adding 2+1 + 4 = 7 may be executed in the human mind quickly, but in the mind of the machine it is different to do this operation, as the following commands must be applied in which the programmer talks to the machine:

1- Define the symbol "x" (x) as a space in memory to store the number 2.

2- Define the symbol “y” as a space in memory to store the number 1.

3- The symbol “F” is defined as a space in the memory to store the number 4.

4- The symbol "Z" is defined as a space in the memory to store an unknown number.

5- The symbol “V” is defined as a space in the memory to store an unknown number.

6- Now add the "x" and "y" (y) and store the result which is the number 3 in the empty space "Z" (Z).

7- Now add the symbol "Z" and "F" and store the result, which is the number 7 in the symbol "V".

8- Finally, show the number stored in the symbol “V” (V) on the screen next to the symbol (=).

(

Note

: The example is only for illustration, not exact lines of code, and may differ in the method of logical arrangement or programming).

You can see from the previous example that I needed about 8 lines to show a simple addition result, but these few lines of code say a lot about how to deal with computers, whether for adults or children.

For this reason, it is necessary to employ a simplified programming language to teach children the principles and steps in order to establish technical and programming awareness in general, and among these languages ​​is Logo, which is the most important language of education for children.

## turtle logo

Logo originated in the late 1960s as a simplified language for use in education, used by Seymour Papert and others at the Massachusetts Institute of Technology (MIT) to teach mathematical thinking to schoolchildren.

It had a more traditional architecture than the Lisp programming language and featured "turtle graphics", a simple method for generating computer graphics.

There are 197 versions of the Logo language, and the UCCLogo version of the University of California is the most powerful.

The Logo language is designed to help children learn programming in a simple way, rather than memorizing theory or using a complex programming structure. Young Logo users learn the basics of programming using simple words and directions by directing an object, usually a turtle, to carry out simple programming sentences.

Logo uses extensible, interactive, and flexible modules, which are designed to be simple to understand for young age groups, and easy for children to use.

Lugo basically includes a robotic little turtle tied to a computer, and in some cases, there was a pen attached to draw lines that drew shapes and patterns, but Lugo's most famous feature is the turtle, which is a pointer on the screen, which can be given instructions for movement. and drawing, it is used to produce line drawings programmatically.

## From father to son, tortoise to cat

In 2007, the SCRATCH language project was launched from MIT laboratories specializing in programming and computer fields.

This is for educational purposes to enable students to learn and express their abilities through an easy and simple programming language.

The institute replaced the turtle that was in the Logo language and executing commands with a cat in the Scratch language to make programming blocks, and the cat became smarter than the turtle, as Scratch does not depend on simple commands as was the case in the Logo language.

And the number of students and users of Scratch around the world has increased, reaching more than 11 million programs, and they publish their work on the official Scratch.mit.edu website.

There is an urgent need to develop a programming language that addresses school students because of the difficulties that students face in the secondary stages in understanding programming, especially Object Oriented Programming.

Therefore, early and simplified learning of this type of programming would prepare the new generation for the next stage.

Through this language, the student learns basic programming concepts such as repetition and conditions, as well as more complex concepts such as objects and blocks, in addition to important mathematical concepts and ideas such as the coordinate system, variables, and random numbers.

All this through a learning system in an interesting and meaningful framework.

In the Scratch program, interactive stories, animation, music and art games, and other computerized creations can be developed.

Scratch enables the user to enter images, sounds and video, and enables him to make changes and control over them.

Scratch depends on the objects entered into the program, since the objects can be text, images or graphics.

## How do we use Scratch?

To take advantage of the huge and free capabilities offered by the Scratch program, it is sufficient to visit the Scratch website, which was built by the Massachusetts Institute specifically for this purpose, and create an account on it. For whoever wanted it.

To make it even easier, you can use the following tutorial that Scratch has designed to help the user understand how to work with the program:

You can also get help directly within the program, and Scratch allows users to share ideas and offer help to each other.

## Scratch and Arabic language

The Scratch project was transferred to Arabic by a team from the College of Information Technology at the United Arab Emirates University, and in cooperation with a group of specialists in the Syrian Olympiad in Informatics, and thanks to that, it became possible to change the language of the menus and program segments in the program to Arabic.

Scratch also has a site that fully supports the Arabic language.

The following image explains how to deal with the Arabic interface of Scratch:

## How do you start teaching boys programming?

When I started teaching my kids to Scratch, I started giving them little projects that they liked, made them love working on Scratch, and offered something they liked.

So I asked them to do a small introductory project about the game "Fortnite" they love so that they explain to the parents what the rules of the game are in a simple way, and I was surprised by their harmony and their ability to learn new things to complete the project.

Learning programming is not an easy process, especially for children, if it is presented to them in an educational or traditional way, so it is necessary to open the way for them to go according to their interests and abilities so that the basic building blocks of programming thinking are built, which will open up great horizons for them in the world of programming later if they decide to expand in this field .

In conclusion, we suggest to you several links that can be useful to you regarding dealing with the Scratch environment:

Teachers page for more ideas that underpin Scratch.

Scratch support page.