Scratch (programming language)

Scratch is a block-based visual programming language and vector/raster graphics editor for children designed to create things such as games, animations, art, and stories.[1] It allows them to explore and experiment with the ideas of computer programming by using "blocks" that are put together to make simple code.[2] There is also a discussion page with multiple forums mainly used for chatting and help with coding.

Scratch
Scratchlogo.svg
Paradigm(s)event-driven, imperative
Appeared in2003; 21 years ago (2003)
Designed byMitchel Resnick
DeveloperMIT Media Lab Lifelong Kindergarten Group
Stable release3.0 / January 2, 2019; 5 years ago (2019-01-02) (online)
3.29.1 / February 27, 2022; 2 years ago (2022-02-27) (offline)
Typing disciplinedynamic
Major implementationsScratch
Influenced byLogo, Smalltalk, HyperCard, StarLogo, AgentSheets, Etoys
Implementation languageSqueak (Scratch 1.x series), ActionScript (Scratch 2.0), JavaScript (Scratch 3.0)
LicenseGPLv2 and Scratch Source Code License
Usual filename extensions.scratch (Scratch 0.x)
sb (Scratch 1.x)
.sb2 (Scratch 2.0)
.sb3 (Scratch 3.0)
Websitescratch.mit.edu

Although made for children 8-16,[3] Scratch can be used to produce simple or complex programs. Some notable users who push the boundaries of what scratch can do include: Griffpatch, -Myths-, TimMcCool, Will_Wam, and World_Languages.

Scratch is translated into 40+ languages and is used in homes, schools, and after-school clubs in nearly every country in the world.[4] Scratch is often used in teaching coding, computer science, and computational thinking. Teachers also use it as a tool across many other subjects, including math, science, history, geography, and art. The Scratch Team is an organization that helps maintain, manage, and help keep Scratch safe. They also do helpful tutorials for coding help and support. Scratch is free to use.[3]

User interface

The area where the user can interact is called the stage area. The stage area features all of the animations, graphics, drawings, and other visual features. The list of sprites on screen are placed below the stage area to show a list of sprites that are usable for the program. The stage is organized through x and y coordinates, with the center coordinate (0, 0) in the center of the stage. The stage is 480 pixels wide and 360 pixels tall, with a range between x=-240 to x=240 in width and a range between y=-180 and y=180 in height.[5]

From left to right, in the upper left area of the screen, there is a stage area, featuring the results (i.e., animations, turtle graphics, etc., everything either in small or normal size, full-screen also available) and all sprites thumbnails listed in the bottom area. The stage uses x and y coordinates, with 0,0 being the stage center. The stage is 480 pixels wide, and 360 pixels tall, x:240 being the far right, x:-240 being the far left, y:180 being the top, and y:-180 being the bottom.[5]


Category Notes    Category Notes
  Motion Moves sprites and changes angles and change X and Y values.      Events Contains event handlers that are placed on the top of each group of blocks to start a programme or start to make something happen.
  Looks Controls the visuals of the sprite. The sprite may be attached a speech bubble or a thought bubble, the background or sprite can be changed, it can be enlarged or shrunken, it can have transparency, or it can have shading.   Control Contains conditional if-else statements, as well as conditional statements "forever", "repeat", and "stop".
  Sound Plays sound files and allows the programming of a musical sequence.   Sensing These tools are used for directing sprites to interact with the surroundings that the user has created.
  My Blocks Allows you to make your own blocks.   Operators Mathematical operators, random number generator, and-or statement that compares sprite positions
  Data Deals with declaring variables and lists, as well as for adjusting variables and lists.   Extensions Custom procedures (blocks) and external devices control and can import from PicoBoard or Lego WeDo 1.0/2.0

Scratch (programming Language) Media

References

  1. "Scratch Project Editor - Imagine, Program, Share". scratch.mit.edu. Retrieved 2018-06-09.
  2. Free tool offers 'easy' coding BBC News 14 May 2007
  3. 3.0 3.1 "Scratch - About". scratch.mit.edu. Retrieved 2018-06-08.
  4. "Scratch - Imagine, Program, Share". scratch.mit.edu. Retrieved 2018-06-08.
  5. 5.0 5.1 Marji, Majed (2014). Learn to Program with Scratch. San Francisco, California: No Starch Press. pp. xvii, 1–9, 13–15. ISBN 9781593275433.