Helene Martin - CS4HS 2010 - Creative Programming in Scratch

download Helene Martin - CS4HS 2010 - Creative Programming in Scratch

of 27

Transcript of Helene Martin - CS4HS 2010 - Creative Programming in Scratch

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    1/27

    Creative Programming in Scratch

    CS4HS Seattle 2010

    Hlne Martin, Garfield High Schoolhttp://helenemartin.com/cs4hs/2010

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    2/27

    CS4HS Seattle 8/3/2010

    Todays goals

    Discuss why programming is worth teaching

    Introduce the Scratch environment

    Demonstrate its value as a teaching tool Go through a few lesson plan ideas

    See a few suggested grading rubrics

    Brainstorm lesson plans for your classrooms

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    3/27

    CS4HS Seattle 8/3/2010

    Hlne Martin

    Computer science teacher at Garfield HS

    Exploring CS

    Creative Computing AP CS

    Computer Science degree from UW

    Mission: increase participation in CS Find me at http://helenemartin.com

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    4/27

    CS4HS Seattle 8/3/2010

    Why teach programming?

    Problem solving

    Algorithmic thinking/thinking like a computer

    Understanding of what computers can/cant do Reinforcing learning from core subjects

    Algebra

    Geometry

    Scientific method

    Increasing interest in computing fields

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    5/27

    CS4HS Seattle 8/3/2010

    Programming?

    Telling the computer what to do

    Writing, testing and maintaining source code

    Improves attention to details

    Empowering!

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    6/27

    CS4HS Seattle 8/3/2010

    The stereotypes

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    7/27

    CS4HS Seattle 8/3/2010

    The reality

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    8/27

    CS4HS Seattle 8/3/2010

    The reality

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    9/27

    CS4HS Seattle 8/3/2010

    Scratch: visual programming

    http://scratch.mit.edu

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    10/27

    CS4HS Seattle 8/3/2010

    Check it out

    Try out different projects on

    http://scratch.mit.edu/channel/featured

    (second link from session website)

    Look for projects relevant to your subject area

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    11/27

    CS4HS Seattle 8/3/2010

    Statements

    Commands or instructions

    Any block whose name is read as a command

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    12/27

    CS4HS Seattle 8/3/2010

    Repetition

    Loops are used to repeat a piece of code

    Iteration is critical in CS but also math, science

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    13/27

    CS4HS Seattle 8/3/2010

    Example: bouncing cat

    Make your cat sprite go back and forth across

    the screen until the user clicks the mouse

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    14/27

    CS4HS Seattle 8/3/2010

    Visuals

    Sprites have costumes

    The stage has backgrounds

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    15/27

    CS4HS Seattle 8/3/2010

    Conditionals

    Not all statements should be run all the time

    Boolean expressions define conditions

    Evaluate to true or false

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    16/27

    CS4HS Seattle 8/3/2010

    Example: bouncing ball on beach

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    17/27

    CS4HS Seattle 8/3/2010

    Variables

    Placeholders for values

    Named by the user

    Your turn: resizable polygon

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    18/27

    CS4HS Seattle 8/3/2010

    Rubric: Resizable polygon

    __/2 has a size variable

    __/2 has a sides variable

    __/2 changing variables has desired effect

    __/1 has a creative background

    __/2 variable sliders on stage for user to set

    __/1 clicking on green flag starts program

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    19/27

    CS4HS Seattle 8/3/2010

    Lists

    A type of variable that contains multiple

    related values

    See writeup for graphing assignment

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    20/27

    CS4HS Seattle 8/3/2010

    Increasing problem solving skills

    Understanding problem statements

    Decomposing problems into solvable pieces

    Incremental design

    Sample problem: The user can set gridHeight,

    gridWidth and gridMargin with sliders. The

    cat should draw a grid of size gridHeight bygridWidth, gridMargin away from the edge of

    the screen.

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    21/27

    CS4HS Seattle 8/3/2010

    Breaking down the grid problem

    (Syntax) How can we get Cat to draw a

    horizontal line 30 from the top of the screen?

    (G

    eometry) How can we get Cat to draw 5evenly spaced horizontal lines?

    (Syntax) What kind of loop should we use?

    (A

    lgorithm) How many times will it repeat? (Algebra) What if we want a margin of 30 on

    top and bottom?

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    22/27

    CS4HS Seattle 8/3/2010

    Threads

    ADVANCED programming topic

    Coordination of multiple things going on at

    once Any block beginning with When starts a

    thread

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    23/27

    CS4HS Seattle 8/3/2010

    Events

    Signal from one thread to another

    Broadcast blocks send events

    Your turn: put together a short animation onyour summer plans

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    24/27

    CS4HS Seattle 8/3/2010

    Writing: proposal

    Have students write formal proposal for a

    game or animation

    Talk about technical writing Bring in industry guest to hear elevator

    pitches

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    25/27

    CS4HS Seattle 8/3/2010

    Design: storyboarding

    Encourage students to plan before acting

    Help students develop storytelling abilities

    Introduce a real-world technique

    Your turn: storyboard a classic game (pinball,

    pong)

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    26/27

    CS4HS Seattle 8/3/2010

    Parting words

    Encourage students to be tech producers

    Allow guided play

    Teach meaningful 21

    st

    century skills Hide important lessons in a playful

    environment

    Leverage existing materials

  • 8/9/2019 Helene Martin - CS4HS 2010 - Creative Programming in Scratch

    27/27

    CS4HS Seattle 8/3/2010

    Your turn!

    Go to http://scratch.mit.edu and look at

    featured projects

    Go back and try the examples I did Look for your turn in the presentation

    Look over assignment ideas

    Brainstorm with colleagues how to use thistool