Scratch (programming language)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Scratch
Scratch Logo.svg
Scratch 1.4 Initial Screen.png
Screenshot of Scratch 1.4's development environment at startup
Paradigm event-driven, imperative
Designed by Mitchel Resnick
Developer MIT Media Lab Lifelong Kindergarten Group
First appeared 2006
Stable release 2.0 / May 9, 2013
Typing discipline dynamic
Implementation language Squeak, ActionScript (Scratch 2.0)
License GPLv2 and Scratch Source Code License
Filename extensions .sb (Scratch 1.4 and below) .sb2 (Scratch 2.0)
Website scratch.mit.edu
Major implementations
Scratch
Influenced by
Logo, Smalltalk, HyperCard, StarLogo, AgentSheets, Etoys

Scratch is a slide-and-drop programming language for children.[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]

Although made for children 8-16,[3] Scratch can be used to produce simple or complex programs so it is worth learning to use by adults as well.

Scratch is translated into 70+ languages and is used in homes, schools, and after-school clubs in 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.

User interface[change | change source]

Scratch 2.0 development environment and its different areas at startup

The area where the user can interact with is called the stage area. The stage area features all of the animations, graphics, drawings, and among 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) placed 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
  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.
  Pen Allows the drawing on the canvas by controlling pen width, color, and shade. It also allows the creation of turtle graphics (drawable graphics).   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   More Blocks Custom procedures (blocks) and external devices control and can import from PicoBoard or Lego WeDo 1.0/2.0

References[change | change source]

  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. "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.