PROGRAMMING CONCEPTS AND SKILLS SUPPORTED IN
Lifelong Kindergarten Group
MIT Media Lab
http://scratch.mit.edu
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
when space key pressed
Scratch, you need to think go to x: -100 y: -100
systematically about the order glide 2 secs to x: 0 y: 0
of steps. say Let the show begin! 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 if x position > 200
condition. 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.”
Concept Explanation Example
event handling when key pressed and when
sprite clicked are examples of
when left arrow key pressed
event handling – responding to
point in direction -90
events triggered by the user or
move 10 steps
another part of the program.
threads Launching two stacks at
(parallel execution) the same time creates two when clicked
3 secs to x: -75 y: 82
independent threads that glide
glide 5 secs to x: 179 y: -130
execute in parallel.
when clicked
forever
next costume
wait 1 secs
coordination and broadcast and when I receive For example, Sprite1 sends the message
winner when this condition is met:
synchronization can coordinate the actions
wait until score > 100
of multiple sprites. Using
broadcast
broadcast and wait allows
winner
synchronization. This script in Sprite2 is triggered when
the message is received:
when I receive winner
play sound cheer
say You won the game!
random numbers The pick random block selects
random integers within a given set x to pick random -100 to 100
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 • text input
return values • inheritance • file input/output