Sei sulla pagina 1di 27

Creative Programming in Scratch

CS4HS Seattle 2010


Hélène Martin, Garfield High School
http://helenemartin.com/cs4hs/2010
Today͛s goals
r Discuss why programming is worth teaching
r Introduce the Scratch environment
r Demonstrate its value as a teaching tool
r Go through a few lesson plan ideas
r See a few suggested grading rubrics
r Brainstorm lesson plans for your classrooms

CS4HS Seattle ʹ 8/3/2010


Hélène Martin
r Computer science teacher at Garfield HS
Exploring CS
Creative Computing
AP CS
r Computer Science degree from UW
r Mission: increase participation in CS
r Find me at http://helenemartin.com

CS4HS Seattle ʹ 8/3/2010


Why teach programming?
r Problem solving
Algorithmic thinking/͞thinking like a computer͟
Understanding of what computers can/can͛t do
r Reinforcing learning from core subjects
Algebra
Geometry
Scientific method
r Increasing interest in computing fields
CS4HS Seattle ʹ 8/3/2010
Programming?
r ͞Telling the computer what to do͟
r Writing, testing and maintaining source code

r Improves attention to details


r Empowering!

CS4HS Seattle ʹ 8/3/2010


The stereotypes

CS4HS Seattle ʹ 8/3/2010


The reality

CS4HS Seattle ʹ 8/3/2010


The reality

CS4HS Seattle ʹ 8/3/2010


Scratch: visual programming
r http://scratch.mit.edu

CS4HS Seattle ʹ 8/3/2010


Check it out
r Try out different projects on
http://scratch.mit.edu/channel/featured
(second link from session website)
r Look for projects relevant to your subject area

CS4HS Seattle ʹ 8/3/2010


Statements
r Commands or instructions
r Any block whose name is read as a command

CS4HS Seattle ʹ 8/3/2010


Repetition
r Loops are used to repeat a piece of code
Iteration is critical in CS but also math, science

CS4HS Seattle ʹ 8/3/2010


Example: bouncing cat
r Make your cat sprite go back and forth across
the screen until the user clicks the mouse

CS4HS Seattle ʹ 8/3/2010


Visuals
r Sprites have costumes
r The stage has backgrounds

CS4HS Seattle ʹ 8/3/2010


Conditionals
r Not all statements should be run all the time

r Boolean expressions define conditions


Evaluate to true or false

CS4HS Seattle ʹ 8/3/2010


Example: bouncing ball on beach

CS4HS Seattle ʹ 8/3/2010


Variables
r Placeholders for values
r Named by the user
r Your turn: resizable polygon

CS4HS Seattle ʹ 8/3/2010


Rubric: Resizable polygon
r __/2 ʹ has a size variable
r __/2 ʹ has a sides variable
r __/2 ʹ changing variables has desired effect
r __/1 ʹ has a creative background
r __/2 ʹ variable sliders on stage for user to set
r __/1 ʹ clicking on green flag starts program

CS4HS Seattle ʹ 8/3/2010


Lists
r A type of variable that contains multiple
related values
r See writeup for graphing assignment

CS4HS Seattle ʹ 8/3/2010


Increasing problem solving skills
r Understanding problem statements
r Decomposing problems into solvable pieces
r Incremental design
r p : The user can set gridHeight,
gridWidth and gridMargin with sliders. The
cat should draw a grid of size gridHeight by
gridWidth, gridMargin away from the edge of
the screen.
CS4HS Seattle ʹ 8/3/2010
Breaking down the grid problem
r (p
) How can we get Cat to draw a
horizontal line 30 from the top of the screen?
r (O  ) How can we get Cat to draw 5
evenly spaced horizontal lines?
r (p
) What kind of loop should we use?
r (Ä  ) How many times will it repeat?
r (Ä  ) What if we want a margin of 30 on
top and bottom?
CS4HS Seattle ʹ 8/3/2010
Threads
r ADVANCED programming topic
r Coordination of multiple things going on at
once
r Any block beginning with ͚When͛ starts a
thread

CS4HS Seattle ʹ 8/3/2010


Events
r Signal from one thread to another
r Broadcast blocks send events
r Your turn: put together a short animation on
your summer plans

CS4HS Seattle ʹ 8/3/2010


Writing: proposal
r Have students write formal proposal for a
game or animation
r Talk about technical writing
r Bring in industry guest to hear elevator
pitches

CS4HS Seattle ʹ 8/3/2010


Design: storyboarding
r Encourage students to plan before acting
r Help students develop storytelling abilities
r Introduce a real-world technique
r Your turn: storyboard a classic game (pinball,
pong͙)

CS4HS Seattle ʹ 8/3/2010


Parting words
r Encourage students to be tech producers
r Allow ͞guided play͟
r Teach meaningful ͞21st century skills͟
r ͞Hide͟ important lessons in a playful
environment
r Leverage existing materials

CS4HS Seattle ʹ 8/3/2010


Your turn!
r Go to http://scratch.mit.edu and look at
featured projects
r Go back and try the examples I did
r Look for ͞your turn͟ in the presentation
r Look over assignment ideas
r Brainstorm with colleagues how to use this
tool

CS4HS Seattle ʹ 8/3/2010

Potrebbero piacerti anche