An intro to Scratch

advertisement
30 min intro to Scratch
A Quick-and-Dirty approach
Leaving lots of exploration for the future.
(5 hour lesson plan available)
30 min Scratch July 2009
1
Objectives of Scratch unit




Intro to visual programming environment
Intro to programming with multimedia
Story-telling | music-making | game-making
Intro to programming concepts
objects and attributes
For
sequence, repetition
instructors
conditions, events, I/O
30 min Scratch July 2009
2
Secondary objectives




Increase student skills with computers
Increase student interest in
programming
Student achievement on fun project
Learn Cartesian coordinates, distance
computations, etc.
30 min Scratch July 2009
3
Computer scientists





Create solutions to problems using
computers
Study information
Invent algorithms
Write programs to implement the
algorithms
Reuse a lot of existing program and
machine parts
30 min Scratch July 2009
4
Start scratch and let’s go!




Click on the cat icon
Or, find “scratch” under “Programs”
When home, download from
www.scratch.mit.edu
Scratch programming environment
comes up quickly
30 min Scratch July 2009
5
Click on the
“Looks”
button at
the top left.
30 min Scratch July 2009
6
Major components




At right: the stage with sprite[s] or
objects or actors
At left: operations and attributes for the
sprites
Center: scripts or program[s] for the
behavior[s] of the sprites
Your sprites are actors that you direct
with your scripts
30 min Scratch July 2009
7
Let’s implement an algorithm
to average two numbers


Make a
variable
“number1”
(click and
drag and
set)
Make
another
one
“number2”
30 min Scratch July 2009
8
Compute average first as sum





Make variable
average
Drag a “set
operation” to script
area
Drag a + operation
Drag variables
number1 and
number2 to
parameters
Click to execute
30 min Scratch July 2009
9
Average script as 4 operation
sequence.
Change the two
numbers and click
the sequence to
execute the block
again.
30 min Scratch July 2009
10
But Scratch computes with
multimedia – color, sound, …



Can make cartoons
Can create stories
Can create video games
30 min Scratch July 2009
11
The “hello” script



Can do it in 57 languages – java, C++,
… Scratch
Easy in Scratch: select “Looks”
operations and drag the “hello operation”
onto your center panel.
Then double click on this “lego block”:
check your sprite behavior at the right
Your very first Scratch program!
30 min Scratch July 2009
12
Make the cat 50% larger
1. Select “Looks” operations
2. Drag the “change size” operator into your
script
3. Click and edit for a 50% change (increase)
4. Double click your one operation script
5. Did your cat sprite get 50% bigger?
30 min Scratch July 2009
13
Scripting a sequence of ops





Do ops in the following order by
dragging operation blocks into a single
connected block
Say hello
Move 200 steps forward
Grow 50% bigger
Make the “meow sound”
30 min Scratch July 2009
14
Some new operations
color
change
(Looks)
•
• wait
(Control)
• move
(Motion)
30 min Scratch July 2009
15
Starting a looped script
30 min Scratch July 2009
16
Exercise: write a script to






Make the cat move along a square path
Say “hi” at all four corners
Wait 3 seconds at each corner
Change color at all four corners
Double size when back to the original
starting location.
Say “That’s all folks” when done.
30 min Scratch July 2009
17
Elements of Scratch: objects







Colors
Sounds
Locations in 2D space
Sprites
Costumes
Variables (to remember the state of things)
Events: that are broadcast for communication
30 min Scratch July 2009
18
Elements of Scratch: control



Sequence of operations
Loops or repetition
Detecting events (key or mouse
pressed, sprites overlapping each other,
sprites hitting edge of stage, sensor
giving value)
30 min Scratch July 2009
19
Loop constructs in Scratch



Repeat N times
Repeat forever
Repeat forever if
some condition
exists (suppose I’m
a sprite wandering
about this lab until
someone asks a
question)
30 min Scratch July 2009
20
Conditions can be checked



Do something if
sprite k hits sprite m
Do something if a
certain key is
pressed
Do something is
some variable takes
a certain value
30 min Scratch July 2009
21
Interacting with your sprite or
story



Using mouse
Entering a character
Asking the user a question
30 min Scratch July 2009
22
Sprite follows the mouse
Try changing
the number of
steps or the
wait time.
30 min Scratch July 2009
23
Play and examine MadLib





Choose the “file” option at the top of
the window
Choose “open”, then “examples”
Choose “stories”
Choose “MadLib” and then read the
authors instructions
Click OK, wait for load, click green flag
30 min Scratch July 2009
24
About the MadLib story






How many actors (sprites)?
What is the role of the girl?
How are the answers you give 'remembered'
and then used in later actions?
What is the role of the little whale?
What makes the little whale flip around?
What makes the big whale spout?
30 min Scratch July 2009
25
Sprites can interact with each other





Can detect when colors overlap in space
Can detect when sprites bump into
edge of the stage
See “bouncing balls” example under
Simulations under Examples
Interact with this simulation
Check out the rather complex scripts
30 min Scratch July 2009
26
Check out the break dance





Open examples; music and dance;
break dance
How does break dancing begin?
What are the roles of the sprites?
What events are in the scripts?
What should happen when the boom
box is clicked?
30 min Scratch July 2009
27
Experiment with Scratch as
time permits




Try your own scripts: make moves, sounds,
interactions in simple cases
Try the examples and learn what makes them
work
Download Scratch on your own machine and
experiment some more
Direct a story; or a simulation; or create a
video game.
30 min Scratch July 2009
28
Download