![Page 1: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/1.jpg)
1
An introduction to programming concepts with
Scratch (in 5 hours + homework)
![Page 2: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/2.jpg)
2
Who computes?
• Scientists
• Engineers
• Businessmen
• Social scientists
• Artists
• FBI agents
• Brain surgeons
• Gamers
• Grandparents
Everyone uses information in some way. Computers do information processing.
![Page 3: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/3.jpg)
3
What can we do with Scratch?
• Learn some computing concepts.
• Learn some practical algorithms.
• Use Scratch as computing tool.
• Have fun with Scratch creating stories, games, art.
![Page 4: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/4.jpg)
4
Part I: Looks and Motion
• Goals:
– Learn Scratch programming environment
– Learn the looks and motion menus
– Write a sequence of instructions
![Page 5: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/5.jpg)
5
Start scratch and let’s go!
• Click on the cat icon
• Scratch programming environment comes up
• We will first do simple things
![Page 6: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/6.jpg)
6
Our Scratch environment
• Stage is at upper right (where actors act and information is displayed)
• Sprite is another name for actor. • Instruction menus/panel at left (instructions for
the actors) • A script is another name for program or method;
a script tells the actor what to do. • Programming area in center; here is where we
construct scripts for the sprites
![Page 7: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/7.jpg)
7
We start with the cat sprite
We will learn to use many other sprites later. For now we use the
cat as our only actor. We script the BEHAVIOR of our cat.
![Page 8: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/8.jpg)
8
The LOOKS menu
Has instructions for setting the color, size, and visibility of a sprite. Costumes will be used later.
![Page 9: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/9.jpg)
9
The “hello” script (program)
• Choose the Looks menu • Click on the “say hello” lego block • Check your sprite behavior at the right • Then click “say hello for 2 secs”
Your very first Scratch program!
![Page 10: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/10.jpg)
10
Try some other looks operations (click on menu items)
• Change color effect by 25
• Change color effect by 25 again
• Hide
• Show
• Change size by 10
• Change size by 10 again
• Set size to 100%
![Page 11: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/11.jpg)
11
Let’s write a script to
• Say “hello” for 2 seconds
• Then change color by 25
• Then think “Hmm..” for 4 seconds
• Then change color by 75
• Then change size by 200
Drag each instruction from the menu to the center script area. Connect them into a single block. Edit the parameters to get the numbers we want.
![Page 12: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/12.jpg)
12
Our script (program)
![Page 13: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/13.jpg)
13
A sequence or block is a simple script or program
• The first instruction is done first
• The second instruction is done second
• The last instruction is done last.
• (if any one instruction is done, then every on of them is done)
![Page 14: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/14.jpg)
14
The WAIT instruction
• WAIT is needed to slow down the acting so we can see or hear it properly (computers are too fast sometimes)
• Get the wait instruction from the CONTROL menu. Ignore the other menu options for now.
• Insert a wait in our looks script
![Page 15: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/15.jpg)
15
3 second pause between changing color and size
![Page 16: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/16.jpg)
16
Student exercise: write a script to do the following
• Double the size of the sprite
• Wait 2 seconds
• Change the color of the sprite to green
• Wait 4 seconds
• Change the whirl effect to 100
• Say “That’s all folks!”
![Page 17: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/17.jpg)
17
The MOTION menu
How to locate and orient a sprite; moving a sprite.
![Page 18: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/18.jpg)
18
Position on the stage • Using the Looks
menu, shrink our cat to 25%.
• Click on the Motion menu.
• Click to check the box for x-position and y-position
• Drag your cat around and note its x-y position.
![Page 19: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/19.jpg)
19
Exercises: goto instruction
• In the Motion menu, drag the “goto xy” instruction to the script panel.
• Edit the coordinates and click to see the sprite’s position
• A) goto x=200, y=0
• B) goto x=-200, y=0
• C) goto x=200, y=-100
Where does the cat go?
![Page 20: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/20.jpg)
20
The “glide-to” instruction
• Drag the “glide-to” instruction into your script panel.
• Edit the coordinate values and click to see where your sprites goes.
![Page 21: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/21.jpg)
21
Exercise
• Create a script to glide the sprite along the sides of a triangle. The first vertex of the triangle is (-100, -100). The second vertex is (200, -100). The third vertex is (50, 100). Make sure you complete the triangle.
• Change the speed of gliding and run again.
![Page 22: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/22.jpg)
22
Angles and directions
Making your sprite go this way and that way
![Page 23: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/23.jpg)
23
Exercise Script
• Start at ( -100, 100 )
• Move 200 steps
• Turn right 90 degrees
• Move 200 steps
• Turn right 90 degrees
• Move 200 steps
• Turn right 90 degrees
• Move 200 steps
Use waits if needed to make the motion look smooth
![Page 24: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/24.jpg)
24
Exercise/Homework Script
• Sprite starts at home base at x=-100; y=-50
• Sprite says “I hit the ball” for 2 seconds
• Sprite runs (east) 200 steps to 1st base
• Sprite changes color
• Sprite runs 200 steps to 2nd base (north: left turn from 1st base)
• Sprite doubles size
• Sprite says “I hit a double” for 5 seconds
![Page 25: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/25.jpg)
25
End of Part I: Outcomes
Student should be able to control the looks of a sprite and its location on the stage. Students should be
able to construct sequences of instructions controlling looks and location on the stage.
![Page 26: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/26.jpg)
26
Part 2: Repetition and Variation
• Goals:
– Learn how to program with repetition
– Learn how to change costumes
– Learn to controll execution (behavior) using special keys
![Page 27: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/27.jpg)
27
The sneezing cat script
• We repeat 20 times
Say “AAAHHHH”
for a short time
Then grow the
cat 5 bigger
![Page 28: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/28.jpg)
28
Exercise: bring the cat size down to normal
Repeat 20 times
Briefly say
“CCHHEEEW”
Then shrink the
cat’s size by 5
Repeat N times and repeat forever are in the Control menu
![Page 29: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/29.jpg)
29
Exercise: Have the cat do a flip by rotating 20 degrees 18 times.
• Repeat from the Control menu: set the number of repetitions to 18
• Rotate from the Motion menu: set the size of each small rotation to 20 degrees
![Page 30: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/30.jpg)
30
Changing costumes
Another way to change the appearance of a sprite.
![Page 31: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/31.jpg)
31
Making a new costume to animate the bat
1) Get bat2-a sprite from the “sprite box”.
2) Click on sprite
3) Click on “Costumes”
4) Click on “Import”
5) Now get bat-2b sprite from the sprite box
![Page 32: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/32.jpg)
32
Use a loop to make the bat fly!
1) When and repeat from Control menu and 2) next costume from Looks menu.
![Page 33: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/33.jpg)
33
Changing coordinates
• We can randomly set the location of the bat so it will “flutter”.
• Set X to a random number
• Set Y to a random number
• Move the bat to location (X,Y)
• Of course, the bat should remain on stage!
![Page 34: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/34.jpg)
34
Using pick random
Click the stop sign at the stage upper right to stop the forever loop.
Do we need a wait in the loop? Try it to see the change in flying.
![Page 35: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/35.jpg)
35
Controlling the bat’s direction
• Let’s create multiple scripts.
• Click space bar for random moves
• Click right arrow to move right
• Click left arrow to move left
• The bat will behave differently depending upon which key is typed!
• (So, could a gamer catch the bat?)
![Page 36: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/36.jpg)
36
Multiple interactive bat flight
3 different
behaviors
for the bat
![Page 37: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/37.jpg)
37
Adding a background
• Click on the Stage icon at lower right
• Click on Backgrounds
• Click on bat icon (Sprite1)
• Click on Scripts • FLY AGAIN!
![Page 38: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/38.jpg)
38
Homework/Exercise:
• Add a behavior (script) to move the bat up with the up arrow.
• Add a behavior to move the bat down with the down arrow.
![Page 39: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/39.jpg)
39
End of Part 2: outcomes
Student should be able to write a program controlled by a loop, and execute a script by clicking special keys. The student should also know how to use “costumes” to change the
appearance of a sprite.
![Page 40: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/40.jpg)
40
Part 3: Input/Output, Variables, Simple computing
• Goals:
– Learn how the user and the program can communicate
– Learn how to compute with formulas
– Computing an average, perimeter of a geometric figure, etc
![Page 41: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/41.jpg)
41
The SENSING menu
Getting information from the user
or some other machine
![Page 42: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/42.jpg)
42
Asking the age of the user
• Program wants age of user (maybe to set a level of difficulty in a game)
• Program asks user for age
• User types in age
• Program stores the answer in a variable named “answer”
![Page 43: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/43.jpg)
43
What is your age?
• Depends on who you are
• For one person it’s 12
• For another person it’s 27
• For yet another, it’s 19
• IT’S VARIABLE!
![Page 44: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/44.jpg)
44
Use the SENSING menu
1) Ask the user for age; 2) user types in age;
3) result stored in “answer”
![Page 45: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/45.jpg)
45
User types “13” and the script stores the answer
“answer” is a Special Scratch variable
![Page 46: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/46.jpg)
46
OUTPUT: Giving the user information with say answer
Say is in Looks menu; drag “answer” from Sensing menu; click
![Page 47: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/47.jpg)
47
Using the Variables menu
We can save an answer in our own named variable;
Then we can program with many data items using many variables
![Page 48: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/48.jpg)
48
Making an “age variable”
1) Click Variables menu; 2) click “Make a variable”
2) Type in “age” and click OK
Do you want to display for all sprites or just one?
![Page 49: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/49.jpg)
49
We have an “age variable”
Displaying variable “age” Operations for “age”
![Page 50: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/50.jpg)
50
We can join text and a number to say things
Build this instruction from the parts above it.
From Looks
From Operators
From Sensing
Make the join
![Page 51: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/51.jpg)
51
Storing a value in a variable; then saying it to the user
1) Set from Variables menu; 2) Say from Looks menu; 3) Join from the Operators menu joins your text with the “answer”
![Page 52: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/52.jpg)
52
Using variables in programs
• A script might have to remember information
• How far is the cat from the dog?
• How fast is the rocket moving?
• Where did the user click on the stage?
• What is my score in the game?
• What is the user’s skill level?
![Page 53: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/53.jpg)
53
Computing C = A + B (1 of 3) • Make 3 variables, A, B, and C
• Type in the values of A and B
• Set the value of C to the sum of A and B
![Page 54: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/54.jpg)
54
Computing C = A + B (2 of 3) • Make 3 variables, A, B, and C • Type in the values of A and B • Set the value of C to the sum of A and B
![Page 55: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/55.jpg)
55
Computing C = A + B (3 of 3) • Make 3 variables, A, B, and C • Type in the values of A and B • Set the value of C to the sum of A and B
Drag + operator from Operators menu
From Variables menu drag variables A and B into the slots
![Page 56: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/56.jpg)
56
Algorithm for computing the average of two numbers
• Let the first number be A; say A=12
• And the second number be B; say B=15
• To compute the average _____________
• So the average of 12 and 15 = ________
![Page 57: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/57.jpg)
57
Programming the average
• A is the first “variable”: A = _____
• B is the second “variable”: B = _____
• V is the third variable: V = _____
• Take the value of A, add the value of B, divide this sum by 2, then set the value of V to this answer.
• V = (A+B)/2 (how to do it in Scratch?)
![Page 58: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/58.jpg)
58
Script from Variables and Operators menus
Drag the variable names into the slots of the operators
A formula from the Operators menu
Script not yet executed
![Page 59: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/59.jpg)
59
After clicking to execute script
The variable V now stores the computed average of A and B
![Page 60: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/60.jpg)
60
Exercise
• Put a Wait 5 secs in the script between the two set operations for variable V
• Execute the script and observe the changes in the value of V
![Page 61: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/61.jpg)
61
Exercise Change the values of A and B by editing the
script (keep the Wait);
Input the age of grandchild and age of grandparent;
Click on your script to compute the average of the new A and B
![Page 62: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/62.jpg)
62
Homework/Exercise: average program
• Modify the average program
• Ask the user for a value of A
• Ask the user for a value of B
• Compute V as the average
• Report the average to the user
• Run the program for different As and Bs
![Page 63: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/63.jpg)
63
HW Exercises
• Average 3 numbers; say 12, 33, and 21
![Page 64: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/64.jpg)
64
Computing perimeter of a rectangle: algorithm
• Ask the user for length L
• Ask the user for width W
• Compute P = (L+W)*2
• Report P to the user
L=15
W = 10
P = (15+10)*2 = 50
example
![Page 65: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/65.jpg)
65
Review: Getting length from user
• Ask “What’s the length” and wait
• Set length to answer
Drag from Sensing menu
Create this variable
Drag from sensing menu
![Page 66: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/66.jpg)
66
Review: Reporting the value of a variable to the user
• Say join “length =“ length for 2 sec
Looks menu
Operators menu Drag length variable from Variables menu
You type this in
![Page 67: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/67.jpg)
67
Review: Program with user input and output
![Page 68: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/68.jpg)
68
HW Exercise: create the Scratch program we designed
• Ask the user for length L
• Ask the user for width W
• Compute P = (L+W)*2
• Report P to the user
Show your program to your Grandparent.
![Page 69: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/69.jpg)
69
End of Part 3: outcomes
Student should be able to write a program to ask the user for data, compute using the data, and report the answer to the user.
Students should be able to compute using common formulas.
![Page 70: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/70.jpg)
Part 4: working with sounds and sprite communication
![Page 71: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/71.jpg)
Part 4 goals
Learn how sprites can communicate by sending messages
Learn how to play sounds and to input your own voice
![Page 72: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/72.jpg)
Communicating sprites: taking turns by message passing
Get cat and dog sprites
Suppose cat speaks first
When finished, the cat can send a message to the dog to speak
When the dog is finished, the dog can send a message to the cat to speak
![Page 73: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/73.jpg)
First behavior for the cat
After saying hello, cat sends a message to dog (actually to all sprites)
![Page 74: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/74.jpg)
Dog is activated by hidog1 message
Dog send message back to cat (and any other sprites)
![Page 75: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/75.jpg)
Cat’s turn again after hicat2 message from the dog
![Page 76: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/76.jpg)
Dog can have 2nd touching behavior
![Page 77: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/77.jpg)
Sprites can have many behaviors
Activated by clicking green flag
Activated by clicking the sprite
Activated by a key being pressed
Activated by a message from another sprite
Activated by touching another sprite
![Page 78: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/78.jpg)
Using sounds
Sound library;
Speaking in the mike;
Importing music
![Page 79: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/79.jpg)
Composing with drum beats
![Page 80: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/80.jpg)
![Page 81: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/81.jpg)
Jodi jumps on the drum
Story teller script Jodi’s script
![Page 82: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/82.jpg)
Recording from a mike (or an iPod or other music player)
1. Plug in microphone
2. Pick the speaker sprite
3. Click “Sounds”
4. Click “Record”
5. Click red button and speak
6. Click square button to stop
7. Click triangle to hear it
8. Click “OK” if it’s OK
9. Use name of sound in a play-sound instruction
![Page 83: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/83.jpg)
The Friends Story (play it)
![Page 84: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/84.jpg)
Variations in stories
Have several scenes
Scenes change with messages or variables
Make characters move
Make characters hide or show
Behavior can change with variables, touching, mousing.
Background music for each scene
![Page 85: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/85.jpg)
Learning from examples
1. Click on the FILE tab
2. Click on the OPEN tab
3. Click on the Examples tab
4. Choose an example: for example,
try STORIES and MAD LIB
06/02/10
![Page 86: An introduction to programming concepts with Scratch](https://reader031.vdocuments.us/reader031/viewer/2022021307/62074c6b49d709492c30061c/html5/thumbnails/86.jpg)
End of Part 4: outcomes
Students should be able to program by passing messages. Students
should be able to program their sprites to make sounds.