# Getting Started with Scratch: An Introduction to Scratch Programming. Scratch is a visual block-based programming language with which anyone, including young children as well as aspiring programmers can write code, create interactive stories, games, and animations by dragging and dropping blocks that resemble puzzle pieces instead of typing out text. > Scratch was developed by the Lifelong Kindergarten Group at MIT Media Lab and it is used by millions of people around the world. Scratch teaches fundamentals of programming found not only in Scratch alone but also in traditional text-based languages like Python and Java. Scratch, too has concepts like functions (which are instructions that perform tasks, return values), conditions (via which programs can decide whether or not to perform some action), loops (via which programs can take action again and again) and variables (variables, via which programs can remember information) and more that you'll see in programming. In this article, I'll introduce you to the basics of Scratch programming, including the Scratch interface, blocks and sprites. 1. The Scratch interface * Once you go to [Scratch official page](https://scratch.mit.edu/) , you'll see the following screen. > NB: Do you see the simple and precise definition of scratch just after the navbar?:relieved: ![Scratch's homepage](https://i.imgur.com/hMcWqWG.png) * When you first open Scratch by clicking on the **Create** button, you'll see a colorful interface with different sections. * ![Create button in Scratch](https://i.imgur.com/w6Bi7iq.png) * The stage is where the action happens, and the sprites are the characters that will interact with the stage. * ![Scratch interface](https://i.imgur.com/eKnKlwB.png) * You'll see the block palette/library on the left side of the interface, which contains different blocks that you can use to program your sprites. You can drag and drop these blocks onto the scripts area in the middle part of the interface (which is the block Editor) to create programs. * ![Scratch interface](https://i.imgur.com/oJukG8Y.png) 2. Sprites > Sprites are the characters that you can program to interact with the stage. You can program your sprite to do different things, such as move, talk, or change color. You can also add different costumes to your sprite to change its appearance in the "Costumes" tab after "code" tab. You can choose from different sprites in the Scratch library, or you can create your own. To create a sprite, click on the "choose sprite" button on the bottom-right of the interface, and then select a sprite from the library or draw your own. ![Scratch Sprite](https://i.imgur.com/U3kS0W3.png) 3. Blocks > Blocks are the building blocks of Scratch programs. There are different types of blocks, such as motion blocks, events blocks, sound blocks, and control blocks. For example, if you want your sprite to move forward, you can use the "move 10 steps" block under the motion category. To make your sprite say something, you can use the "say" block under the looks category like "say Hello". > You can combine or stack different blocks to create complex programs. For example, you can create a program that makes your sprite move forward and say something at the same time. ![](https://i.imgur.com/Qd5083B.png) --- Scratch resources (Helpful links) 1. [Scratch's Official website](https://scratch.mit.edu) 2. [CS50's Introduction to Programming with Scratch](https://pll.harvard.edu/course/cs50s-introduction-programming-scratch?delta=0) --- Take home. > :one: Scratch is the world'slargest free coding community for kids! > :two: Scratch is a powerful tool that can be used to create a wide range of interactive projects. >> By mastering the basics of Scratch programming, you'll be able to create your own animations, stories and games in no time. --- Scratch - Imagine, Program, Share!