Scratch
See also: teaching-implementation, DIG071A-2024, scratch-computational-thinking
See:
- Scratch website
- Scratch Wiki
- Wikipedia article on Scratch
- Computational thinking with Scratch
- Turbowarp - compiles Scratch projects to Javascript to increase speed
Education: - Scratch 3 Tutorial - ACARA - Teacher's notes on Scratch - collection of blog posts
A high-level, block-based, event-driven visual programming language designed for educational purposes (ages 8 to 16). Version 3.0 released in 2019
Name arises from DJ's practice of "scratching" - of clipping together vinyl records and manipulated to create new sound/music.
Conceptual model#
Primarily Scratch programming takes place on the Scratch website but an offline editor is available for desktop and mobile devices. Page from Maleny State School suggests most Education Queensland schools are using the offlien editor.
Interface#
The Scratch interface has three main sections:
-
Stage area
-
where the results appear, using x,y coordinates with 0,0 being stage centre
- All sprites' thumbnails listed in the bottom area
-
Select a sprite and apply blocks to the sprite
-
Block palette - where the available blocks can be selected
- Coding area - where the instructions live - aka script
Blocks#
Category | Notes |
---|---|
Motion | Movements of sprites like angles and directions. |
Looks | Controls the visuals of the sprite |
Sound | Plays Audio files and effects |
Events | Event handlers and broadcasters. |
Control | Conditionals, loops, and cloning. |
Sensing | Sprites "Sprite (computer graphics)" can interact with other sprites, the mouse pointer, and the backdrop. |
Operators | Mathematical operators, conjunctions, and comparisons |
Variables and Lists | Blocks to access and set variables. Cloud variables can be accessed by all running versions of the project. |
My Blocks | User-defined functions, accessible as blocks. They have the option to run without a screen refresh. |
Extensions | Extra blocks and features |