Scratch is one of the best tools for beginners to start learning programming and expressing their creativity. Here are the top reasons to use Scratch:
1. Easy to Learn, Especially for Beginners
No typing required: just drag and drop code blocks.
Helps young learners and beginners understand logic without syntax errors.
Visual and fun: perfect for ages 8 and up.
2. Encourages Creativity
Create interactive stories, animations, games, quizzes, and more.
Design your own characters (sprites), backgrounds, and sounds.
Turns coding into a creative and artistic activity.
Enhances Communication & Storytelling
Helps users build interactive presentations and tell digital stories.
Encourages writing, planning, and speaking through character dialogue and design.
3. Offers a Global Community
Scratch has a safe and moderated online community.
Share your work, get feedback, and remix projects from around the world.
Encourages collaboration and learning from others.
4. Widely Used in Education
Used by millions of students and educators in schools and clubs.
Fits into STEAM learning (Science, Technology, Engineering, Arts, Math).
Supports project-based learning and cross-curricular integration.
Scratch introduces key computer science concepts through color-coded blocks that snap together, making coding visual, interactive, and easy to understand.
Definition: Actions that start your code.
Block | Role |
![]() | Starts the script when the green flag is clicked (most common starter block) |
![]() | Starts the script when a specific key is pressed (can choose any key: arrow keys, letters, etc.) |
![]() | Starts the script when the sprite is clicked with the mouse |
![]() | Runs when the stage switches to a specific backdrop. |
![]() | Starts the script when the loudness goes above a specific level (used with sound input like microphone). |
![]() | Starts when a specific broadcast message is received. |
![]() | Sends a broadcast message to all sprites. Scripts with when I receive [message1] will start. |
![]() | Sends a broadcast, waits until all receiving scripts are finished, then continues. |
Definition: Blocks that move or rotate sprites.
Block | Role |
![]() | Moves the sprite forward by a specified number of steps |
![]() | Rotates the sprite by a certain angle |
![]() | Rotates the sprite by a certain angle |
![]() | Moves sprite to a predefined target |
![]() | Instantly moves the sprite to a specific position on the stage |
![]() | Drags the sprite to the position defined by the x-coordinate and the y-coordinate on the Stage. |
![]() | Points the sprite in a specific direction (0 = up, 90 = right, 180 = down, -90 = left) |
![]() | Sets sprite's exact position |
![]() | Moves sprite horizontally |
![]() | Sets sprite's exact position |
![]() | Moves sprite vertically |
![]() | Rotates the sprite in the opposite direction when it hits the edge of the stage. |
![]() | Returns the x-coordinate of the sprite’s position. |
![]() | Returns the y-coordinate of the sprite’s position. |
![]() | Returns the direction of the sprite (0 => up, 90 => right, 180 => down, -90=> left) . |
Definition: Controls what the sprite says, shows, or how it looks.
Block | Role |
![]() | Displays a speech bubble with the text for a set time. |
![]() | Displays a speech bubble indefinitely until cleared or replaced. |
![]() | Junior Displays a thought bubble for a set time. |
![]() | Displays a thought bubble indefinitely. |
![]() | Changes the sprite's appearance to a specific costume. |
![]() | Switches to the next costume in the sprite’s list. |
![]() | Changes the stage backdrop to a specified one. |
![]() | Switches to the next backdrop in order. |
![]() | Increases or decreases the size of the sprite. |
![]() | Sets the sprite’s size to a specific percentage. |
![]() | Modifies a visual effect (e.g., color, brightness) by a value. |
![]() | Sets a visual effect to a specific value. |
![]() | Removes all graphic effects from the sprite or stage. |
![]() | Makes the sprite visible. |
![]() | Makes the sprite invisible. |
![]() | Brings the sprite to the topmost visual layer. |
![]() | Reports the current size of the sprite. |
![]() | Reports the number of the current costume. |
![]() | Reports the number of the current backdrop. |
Definition: Adds audio effects to your project.
Block | Role |
![]() | Plays the sound and pauses the script until the sound finishes. |
![]() | Starts playing a sound, and the script continues without waiting for it to finish. |
![]() | AccouStops all currently playing sounds. |
![]() | Changes a sound effect (e.g., pitch, pan) by a value. |
![]() | Sets a sound effect to a specific value. |
![]() | Removes all sound effects (resets sound to normal). |
![]() | Increases or decreases the volume. |
![]() | Sets the volume to a specific percentage. |
![]() | Contains the volume of a sprite or the scene. |
Definition: Manages the flow of the program (loops, waits, conditionals).
Block | Role |
![]() | Pauses the script for the given amount of time. |
![]() | Repeats the contained blocks a fixed number of times. |
![]() | Repeats the contained blocks endlessly. |
![]() | Runs the blocks inside only if the condition is true. |
![]() | Runs one set of blocks if the condition is true, another if it’s false. |
![]() | Pauses the script until the condition becomes true. |
![]() | Repeats the blocks until the condition becomes true. |
![]() | Cedric Stops scripts as specified. |
![]() | Starts a script when a clone is created. |
![]() | Makes a copy (clone) of the selected sprite. |
![]() | Removes the current clone from the stage. |
Definition: Detects interactions like keyboard, mouse, or sprite collision.
Block | Role |
![]() | Returns true if the sprite is touching the specified object (mouse-pointer, edge, or another sprite). |
![]() | Returns true if the sprite is touching the specified color. |
![]() | Returns true if one color is touching another on the sprite. |
![]() | Returns the distance (in pixels) from the sprite to the selected object. |
![]() | Prompts the user with a question. The response is saved in the answer block. |
![]() | Reports the answer input by the user after using the ask () and wait block. |
![]() | Returns true if the selected key is currently being pressed. |
![]() | Returns true if the mouse button is being pressed. |
![]() | Gives the current horizontal position of the mouse pointer. |
![]() | Gives the current vertical position of the mouse pointer. |
![]() | Reports the loudness of sound from the computer's microphone. |
![]() | Returns the number of seconds since the project started or the timer was last reset. |
![]() | Reports a specified value from the specified sprite or scene. |
![]() | Reports either the local year, month, date, day of the week, hour, minutes, or seconds, depending on the argument |
Definition: Used for math, logic, and text manipulation.
Block | Role |
![]() | Adds two numbers. |
![]() | Subtracts the second number from the first. |
![]() | Multiplies two numbers. |
![]() | Divides the first number by the second. |
![]() | Returns a random number in the given range (inclusive). |
![]() | Returns true if the first number is greater than the second. |
![]() | Returns true if the first number is less than the second. |
![]() | Returns true if the two values are equal (can compare text too). |
![]() | Returns true if both conditions are true. |
![]() | Returns true if either condition is true. |
![]() | Returns the opposite of a condition. |
![]() | Combines two strings into one (e.g., → "helloworld"). |
Definition: Store values (numbers or text) that can change.
Block | Role |
![]() | System Architect |
![]() | Reports the current value of the variable. You can use it in any expression. |
![]() | Sets the variable to a specific value. |
![]() | Increases or decreases the variable by a given amount. |
![]() | Displays the variable's value on the stage. |
![]() | Hides the variable from the stage. |
![]() | Creates a List block |
![]() | Makes a custom block in Scratch |
Educational robotics refers to the use of robots and robotics technology to promote learning in educational settings. It involves the integration of technology, engineering, and computer science into the classroom, allowing students to engage in hands-on, project-based learning experiences.
In this context, our website represents an excellent resource for parents, teachers and children who wish to discover robotics.
Zaouiet Kontech-Jemmel-Monastir-Tunisia
+216 92 886 231
medaliprof@gmail.com
Robotic site created by MedAli-Teacher info