Scratch

Scratch logoScratch is a free visual coding tool that was designed by the MIT Lifelong Kindergarten Group. It is a type of  “block programming which uses graphical blocks to represent program commands” (Crook, 2009). Students can use Scratch to “code their own interactive stories, animations, and games. In the process, they learn to think creatively, reason systematically, and work collaboratively — essential skills for everyone in today’s society” (Scratch for Educators, 2020, para. 1).

Tool Snapshot

Price Free
Learning Constructionism, Gamification, Connectivisim
Ease of Use ★★✩✩
Privacy ✩✩
Accessibility ✩✩✩
Class Size Unlimited
ISTE*S Creative Communicator, Global Collaborator, Knowledge Constructor, Computational Thinker
COPPA/
FERPA
No information available

On its website, Scratch provides extensive resources, such as step-by-step interactive video tutorials, to guide beginners get started, allowing users  to self-pace their learning. The website also has subpages designate for parents and educators. In addition, there is a forum for new scratchers as well as a featured studio to showcase products designed by users.

Scratch Overview Video

***View the Storybird Video Transcript***

Scratch & the SAMR Model

Scratch can be used in many different ways. For example, in a math class, you can ask your students to use Scratch to learn about and show their understanding of a coordinate graph.

  • Substitution: Students use Scratch to draw a coordinate graph (rather than drawing a graph on paper). 
  • Augmentation: Students can use Scratch to create an introductory video to introduce coordinate planes.
  • Modification: Students use Scratch to design interactive coordinate graph game to play. They can share their projects with each other and critique each other’s design.
  • Redefinition: Students use Scratch to create a step by step tutorial animation on how to draw a coordinate graph. Users need to interact with the animation, following prompts embedded in it. When they finish all the steps, they produce a coordinate graph.

Learning Activities

ScratchEd, a member of the Scratch family, has many inspiring examples organized by grades, content types, curricular area, and language.  To access the website, click the link below: http://scratched.gse.harvard.edu/resources.

Here are some examples of projects made by Scratch users:
Screenshot from ScratchEd website                Screenshot from ScratchEd website

Screenshot from ScratchEd website        Screenshot from ScratchEd website

Resources

How to Use Scratch

For General Users:

  • To use the online version, go to https://scratch.mit.edu
    To use without registering:

    • Find “ Create” on the upper right corner and click
  • To use with registering, click “Join Scratch” on the upper right corner
  • Fill out the information as shown in the animated GIF below

GIF created by Lian Duan

  • Watch a Getting Started tutorial by Scratch; you can also find many other video tutorials for Scratch on this page

For Educators who wish to set up  their online Scratch classes:

Step 1: Fill out a “Teacher request form” at the address below, and follow the steps as shown in the GIF: https://scratch.mit.edu/educators/register   

Note that it might take 24 hours to confirm your account.

GIF created by Lian Duan

Step 2: Watch a tutorial video made by Scratch to learn how to set up classrooms step by step.

Also, you can find a written explanation on teacher account on ScratchWiki, which is a subpage on Scratch website.

Research

Crook, S.(2009). Embedding Scratch in the Classroom. ScratchEd. 

Scratch (2016). Retrieved from https://scratch.mit.edu/.

Scratch: Programing For All.  by Resnick, M, Maloney,J. , Hernández A.M., Rusk,N. Eastmond, E.  Brennan, K.  Millner, A.  Rosenbaum, E. , Silver, J.;  Silverman, B.  & Kafai, Y. Communications of The Acm, November 2009 ,vol. 52 ,no. 11 . Retrieved from http://web.media.mit.edu/~mres/papers/Scratch-CACM-final.pdf.

Wikipedia (2016): Scratch (programming language) Retrieved from https://en.wikipedia.org/wiki/Scratch_(programming_language).