Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scratch: An On-Ramp to Programming

John Kary
August 23, 2014

Scratch: An On-Ramp to Programming

Learning to program computers in the traditional sense has many pitfalls that are barriers for newcomers. The future job market for programmers is bright and kids should be taught to control technology rather than only consuming it.

John talks about Scratch (http://scratch.mit.edu), the visual programming language from MIT, and how he thinks it's the best "first" programming language for the next generation of developers. Scratch hits the sweet spot to overcoming introductory pitfalls and provides a safe environment for kids to learn, explore and share their digital creations.

John Kary

August 23, 2014
Tweet

More Decks by John Kary

Other Decks in Programming

Transcript

  1. An on-ramp to programming

    View Slide

  2. http://www.youtube.com/watch?v=PF7EpEnglgk
    I opened by showing the below video.
    Watch before continuing.

    View Slide

  3. • Programming is a necessary skill
    • So you want to learn to program?
    • MIT Scratch
    • Why Scratch?
    • How can you help?

    View Slide

  4. Programming is!
    a necessary skill

    View Slide

  5. How is the demand for
    programming growing?

    View Slide

  6. Bureau of Labor Statistics (2012)
    Occupation 2012 2022 Growth
    Software developers,
    applications
    613,000 752,900 22.8%
    Occupations with the most job growth,!
    2012 and projected 2022
    http://www.bls.gov/emp/ep_table_104.htm

    View Slide

  7. Why is this demand
    here to stay?

    View Slide

  8. The forever recession

    (and the coming revolution)
    When everyone has a laptop!
    and connection to the world,!
    then everyone owns a factory.
    Seth Godin, Sept 2011
    http://sethgodin.typepad.com/seths_blog/2011/09/the-forever-recession.html

    View Slide

  9. HUMANS NEED NOT APPLY
    http://www.youtube.com/watch?v=7Pq-S557XQU

    View Slide

  10. HUMANS NEED NOT APPLY
    http://www.youtube.com/watch?v=7Pq-S557XQU
    ECONOMICS ALWAYS WINS

    View Slide

  11. HUMANS NEED NOT APPLY
    http://www.youtube.com/watch?v=7Pq-S557XQU
    ECONOMICS ALWAYS WINS
    AUTOMATION ISN’T BAD

    View Slide

  12. HUMANS NEED NOT APPLY
    http://www.youtube.com/watch?v=7Pq-S557XQU
    ECONOMICS ALWAYS WINS
    AUTOMATION ISN’T BAD
    IT’S INEVITABLE

    View Slide

  13. Robots, JavaScript, and Drones:

    Welcome to the Hardware Revolution
    Julia Grace, July 2014

    View Slide

  14. View Slide

  15. http://www.control4.com/blog/2014/03/the-internet-of-things-and-the-connected-home

    View Slide

  16. SOFTWARE

    IS EATING

    THE WORLD
    Marc Andreessen

    View Slide

  17. So you want to!
    learn to program

    View Slide

  18. Stages of Learning to Program

    View Slide

  19. Stages of Learning to Program
    1. Desire and goal

    View Slide

  20. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax

    View Slide

  21. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning

    View Slide

  22. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms

    View Slide

  23. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms
    5. Running the program

    View Slide

  24. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms
    5. Running the program
    6. Hey I made this thing!

    View Slide

  25. How did I

    become interested

    in programming?

    View Slide

  26. Stages of Learning to Program

    View Slide

  27. Stages of Learning to Program
    1. Desire and goal

    View Slide

  28. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax

    View Slide

  29. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning

    View Slide

  30. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms

    View Slide

  31. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms
    5. Running the program

    View Slide

  32. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms
    5. Running the program
    6. Hey I made this thing!

    View Slide

  33. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms
    5. Running the program
    6. Hey I made this thing!
    Find the hidden Triforce

    View Slide

  34. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms
    5. Running the program
    6. Hey I made this thing!
    Find the hidden Triforce
    Hours on my computer

    View Slide

  35. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms
    5. Running the program
    6. Hey I made this thing!
    Find the hidden Triforce
    Hours on my computer
    0x8111A834 == 30FF

    View Slide

  36. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms
    5. Running the program
    6. Hey I made this thing!
    Find the hidden Triforce
    Hours on my computer
    0x8111A834 == 30FF
    GeoCities HTML

    View Slide

  37. Stages of Learning to Program
    1. Desire and goal
    2. Typing accuracy and syntax
    3. Values have meaning
    4. Language and platform idioms
    5. Running the program
    6. Hey I made this thing!
    Find the hidden Triforce
    Hours on my computer
    0x8111A834 == 30FF
    GeoCities HTML
    F5 F5 F5 F5 F5 F5

    View Slide

  38. View Slide

  39. Learn programming today?

    View Slide

  40. View Slide

  41. View Slide

  42. View Slide

  43. View Slide

  44. View Slide

  45. View Slide

  46. Challenges learning to!
    program in 2014

    View Slide

  47. The state of programming
    is currently shackled to
    its previous success

    View Slide

  48. The current generation
    is inundated with visuals

    View Slide

  49. War of Attention

    View Slide

  50. It's too easy to
    CONSUME
    instead of create

    View Slide

  51. Popular programs
    are not
    open-source

    View Slide

  52. View Slide

  53. People get bored easily

    View Slide

  54. View Slide

  55. • January 2007
    • National Science Foundation grant,

    Lifelong Kindergarten group @ MIT
    • Designed for 8-16 year olds
    • Think creatively, work collaboratively and reason systematically

    View Slide

  56. View Slide

  57. View Slide

  58. • Games
    • Animated Music Videos (AMVs)
    • Cartoons
    • Drawing contests

    View Slide

  59. 12 @ 375,000

    View Slide

  60. View Slide

  61. Why Scratch?

    View Slide

  62. The state of programming
    is currently shackled to
    its previous success
    Scratch is fun and!
    gets you started right away

    View Slide

  63. The current generation
    is inundated with visuals
    Scratch is a!
    visual!
    programming !
    language

    View Slide

  64. War of Attention
    Scratch is online!
    and on the devices!
    kids care about

    View Slide

  65. Popular programs
    are not
    open-source
    Open-Source is built!
    into the Scratch ecosystem

    View Slide

  66. People get bored easily
    Scratch has an!
    ultra-fast feedback cycle

    View Slide

  67. How can you help?

    View Slide

  68. Learn Scratch
    http://scratch.mit.edu/
    Offline Editor
    http://scratch.mit.edu/scratch2download/
    Online Editor
    http://www.scratchjr.org/
    iPad App

    View Slide

  69. Teach Scratch
    For Educators
    http://scratch.mit.edu/educators/
    http://coderdojokc.com/

    View Slide

  70. Building Something!
    !
    Teach Someone

    View Slide

  71. John Kary
    @johnkary
    http://johnkary.net/talks
    Questions?

    View Slide