PROGRAMMING CONCEPTS AND SKILLS SUPPORTED IN
In the process of creating interactive stories, games, and animations with Scratch, young people
can learn important computational skills and concepts.
PROBLEM-SOLVING AND PROJECT-DESIGN SKILLS
• logical reasoning
• debugging problems
• developing ideas from initial conception to completed project
• sustained focus and perseverance
FUNDAMENTAL IDEAS ABOUT COMPUTERS AND PROGRAMMING
• Computer programs tell the computer precisely what to do, step-by-step
• Writing computer programs doesn’t require special expertise, just clear and careful thinking
SPECIFIC PROGRAMMING CONCEPTS
Concept Explanation Example
sequence To create a program in Scratch, you when space key pressed
need to think systematically about go to x: -100 y: -100
the order of steps. glide
say
2 secs to x:
Let the show begin!
0 y: 0
for secs
play sound fanfare until done
iteration (looping) forever and repeat can be used
for iteration (repeating a series of
instructions)
conditional statements if and if-else check for a condition. if x position > 200
set x to -200
wait .01 secs
variables The variable blocks allow you to
create variables and use them in a
program. The variables can store
numbers or strings. Scratch supports
both global and object-specific
variables.
lists (arrays) The list blocks allow for storing
and accessing a list of numbers and
strings. This kind of data structure
can be considered a “dynamic array.”
http://scratch.mit.edu
Concept Explanation Example
event handling when key pressed and when
sprite clicked are examples of event when left arrow key pressed
handling – responding to events point in direction -90
move 10 steps
triggered by the user or another part
of the program.
threads Launching two stacks at the same
(parallel execution) time creates two independent
threads that execute in parallel.
coordination and broadcast and when I receive can For example, Sprite1 sends the message
winner when this condition is met:
synchronization coordinate the actions of multiple
wait until score > 100
sprites. Using broadcast and wait
broadcast
allows synchronization. winner
This script in Sprite2 is triggered when
the message is received:
when I receive winner
play sound cheer
say You won the game!
keyboard input ask and wait prompts users to type.
answer stores the keyboard input.
random numbers pick random selects random set x to pick random -100 to 100
integers within a given range.
boolean logic and, or, not are examples of boolean
logic.
dynamic interaction mouse_x, mouse_y, and loudness
can be used as dynamic input for
real-time interaction
user interface design You can design interactive user
interfaces in Scratch – for example,
using clickable sprites to create
buttons.
PROGRAMMING CONCEPTS NOT CURRENTLY INTRODUCED IN SCRATCH:
• procedures and functions • recursion • exception handling
• parameter passing and • defining classes of objects • file input/output
return values • inheritance
http://scratch.mit.edu