43
ITEC Winter 2010 1 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 1

An intro to programming concepts with Scratch

Quick intro for college citizens.George Stockman

MSU CSE

Page 2: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 2

A 10-minute PR clip

sallyAndHorse.sb

Page 3: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 3

What can we do with Scratch?

Learn some computing concepts. Learn some practical algorithms. Have fun with Scratch creating

stories, games, art. We are teaching Scratch after

school to middle school kids with the goal of increasing interest in STEM.

Page 4: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 4

Start scratch and let’s go!

Click on the cat icon If not on desktop, download

from www.scratch.mit.edu Scratch programming

environment comes up quickly

We will first do simple ops

Page 5: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 5

Scratch environment Stage is at upper right (where actors act

and information is displayed) Sprite is another name for actor (object). 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 panel in center; here is where we construct scripts for the sprites

(Sprites are objects; their scripts are methods or behaviors.)

Page 6: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 6

We start with the cat sprite

We will learn to use other sprites and many sprites

LATER. Now we use the cat as our only actor.

Page 7: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 7

The LOOKS menu

Has operations for setting the color, size, and visibility of a

sprite. Constumes will be used LATER

Page 8: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 8

The “hello” script (program)

Double click on the “say hello” lego block Check your sprite behavior at the right Then double click “say hello for 2 secs”

Your very first Scratch program!

Page 9: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 9

Try some other looks operations (double click 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 10: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 10

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 the instructions from the menu to the center panel. Connect them into a single block. Edit the parameters to get the numbers we want.

Page 11: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 11

Our script (program)

Page 12: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 12

The WAIT instruction

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. Please ignore the other menu options at this time.

Insert a wait in our looks script

Page 13: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 13

3 second pause between changing color and size

Page 14: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 14

The MOTION menu

How to locate and orient a sprite; position and angle;

moving a sprite

Page 15: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 15

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 16: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 16

Other instructions

goto x,y glide to x,y Move N steps Set direction

Page 17: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 17

The “glide-to” instruction

Drag the “glide-to” instruction into your script panel.

Edit in some coordinate values and double click to see where your sprites goes.

Page 18: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 18

The SENSING menu

Getting information from the user

or some other machine

Page 19: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 19

Use the SENSING menu1)Ask the user for age; 2) user types in

age;

3) result stored in “answer”

Page 20: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 20

User types “13” and the script stores the answer

“answer” is a Special Scratch variable

Page 21: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 21

OUTPUT: Giving the user information with say answer

Say is in Looks menu; drag “answer” from Sensing menu; click

Page 22: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 22

Making an “age variable”1) Click Variables menu; 2) click “Make a variable”

3) Type in “age” and click OK

Do you want to display for all sprites or just one?

Page 23: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 23

We have an “age variable”Displaying variable “age”Operations for “age”

Page 24: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 24

We can join text and a number to say things

Build this instruction from the parts above it.

From Looks

From OperatorsFrom Sensing

Make the join

Page 25: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 25

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 26: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 26

A first “program” for 6th grade

The variable V now stores the computed average of A and B

Page 27: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 27

Changing costumes

Another way to change the appearance of a sprite.

Page 28: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 28

Making a new costume

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 29: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 29

Use a loop to make the bat fly!

1) When and repeat from Control menu and 2) next costume from Looks menu.

Page 30: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 30

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 31: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 31

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 32: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 32

Multiple interactive bat flight

Page 33: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 33

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 34: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 34

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 35: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 35

On to multimedia, games, stories

Detecting events; sending messages;

using music and audio;

Page 36: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 36

See stock example: Mad Lib

Explore the available examples; Mad Lib under

stories;Study message sending;

Page 37: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 37

Study Break Dance

Music and dance example;Messaging;

Use of stock music and costumes

Page 38: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 38

Digitizing your own audio

Use din example

Page 39: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 39

Composing with drum beats

Page 40: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 40

Page 41: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 41

Jodi jumps on the drum

Story teller script

Jodi’s script

Page 42: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 42

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 43: ITEC Winter 20101 An intro to programming concepts with Scratch Quick intro for college citizens. George Stockman MSU CSE

ITEC Winter 2010 43

Where does all this lead?

Definitely engaging for grades 6,7,8.Does it increase STEM interest of our

kids?Does it motivate college computing

classes?Does Scratch make a smarter Lego

bot?