Aviva Directory » Computers & Internet » Programming » Scratch

Developed by the Media Lab of the Massachusetts Institute of Technology (MIT), the goal was to make programming easier and more fun to learn, particularly for children.

A computer program is a set of instructions that tells a computer what to do. These instructions are written through the use of a programming language. Most program languages are text-based. Computer commands are written in what might appear to be a cryptic form of index, some languages being more or less intuitive than others.

Scratch is a visual programming language. With Scratch, users do not have to type any complicated commands. Rather, they connect graphical blocks together to create programs.

Scratch is far more than a plaything for children, however. The benefits of learning programming and the concepts of computer science in the elementary and middle school grades have aptly demonstrated. Scratch teaches computational thinking to children, as well as young adults.

By learning to program in a manner that becomes intuitive and fun for them, children become creative learners, able to explore new ideas through the use of a powerful tool. Not only are they able to create games and other programs and applications that can be run on a computer, tablet device, or smartphone but, in the process, they learn to analyze their own thinking, given that this is the only way to program a computer. Through these activities, they learn to break complicated problems down into smaller problems that can be solved. This new way of thinking is computational thinking.

Scratch is entertaining and fairly easy to learn, yet it is a powerful programming language, one that contains all of the aspects of basic programming in a friendly, graphical interface.

There are three main sections to the Scratch interface, a staging area, blocks palette, and a coding area.

The stage area is where the results are shown, which may be turtle graphics, sprites, or animations, either in normal or reduced size, with a full-screen option available. The stage area uses x and y coordinates, with 0,0 being stage center.

The block palette is an area of the GUI located between the stage area, sprite pane, and scripting area. The blocks are located to the right of the categories.

By selecting the Code tab in the upper area of the Scratch program, the block palette is opened. It includes every block that has been built into Scratch.

Also known as the scripts area, the code area is on the left side of the project editor. This is where scripts are assembled.

Scratch uses event-driven programming, using multiple active objects known as sprites. Sprites are graphical objects that can be drawn as vector or bitmap objects in an editor that is part of Scratch, or they can be imported from external sources.

Created in 2002, each version of the language has introduced significant changes. The language and IDE have become very popular in the United Kingdom and the United States through Code Club, which is a voluntary initiative for children nine to thirteen, established through schools and other public venues. Volunteer programmers and others help to run Code Club sessions, passing their skills on to young students, who create computer games, animations, websites, and other applications. Code Clubs also teach HTML, CSS, and Python, as well as some other languages.

Scratch is taught in hundreds of schools and colleges, and is used in the first week of Harvard University's introductory computer science course.

On the official Scratch website, members share their projects and receive feedback. Member projects can be uploaded directly from the development environment, and any member can download full source codes. The site also sponsors Scratch Design Studio competitions from time to time.

Although the Scratch Design Studio site only runs the current version, offline editors are available for earlier versions, and can be used to create and run games locally.

Teachers using the language have their own online community, known as ScratchEd, which is supported by the Harvard Graduate School of Education.

In 2014, ScratchJr was released for the iPad, and a version for Android devices was available by 2016. Although ScratchJr was co-led by Mitch Resnick, the primary designer of Scratch, it is a complete rewrite intended for children as young as five.

A more advanced visual programming language inspired by Scratch is Snap!. Originally known as BYOB, Snap! is covered in its own category here.

The focus of this category is on the Scratch programming language and IDE, and topics relating to ScratchJr may be listed here as well. Scratch user groups, tutorials, guides, and any tools designed to facilitate Scratch programming are appropriate for this category.



Recommended Resources

Search for Scratch on Google or Bing