Teaching Ruby to Kids
description
Transcript of Teaching Ruby to Kids
Teaching Ruby to KidsOr, how to do your part for world domination.
Sarah Mei
1Saturday, February 20, 2010
Ohai
• sarahmei (twitter, github...)
• Software engineer @ Pivotal Labs
• Teaching is my hobby
• Workshops for adults
• Workshops for kids
2Saturday, February 20, 2010
Why?
Most programming instructors = FAIL.
Programming is becoming part of basic literacy.
3Saturday, February 20, 2010
Why should you teach?
• It’s rewarding to spread your excitement about programming to someone else.
4Saturday, February 20, 2010
• It’s rewarding to spread your excitement about programming to someone else. (blah, blah, blah...)
Why should you teach?
• Teaching leads to learning
5Saturday, February 20, 2010
Teaching: not rocket science
• You already have all the tools you need
• You already use all the techniques you need
6Saturday, February 20, 2010
Agile teaching
• Set goals
• Form a plan, but expect to adapt
• Keep iterations short
• Listen to the customer
• Deploy continuously and listen to feedback
Look familiar?
7Saturday, February 20, 2010
Set goals
Specific, immediate, measurable, achievable
8Saturday, February 20, 2010
I want Aiden to grow up to be a developer.
9Saturday, February 20, 2010
I want Emma to get interested in programming.
10Saturday, February 20, 2010
I want Lily to be so excited that she
explores things on her own after we’re done.
11Saturday, February 20, 2010
I want Jack to enjoy programming so much that he looks forward
to the next time.
12Saturday, February 20, 2010
I want Ada to be my little clone being so I can subcontract work out to her when she
turns 10.
13Saturday, February 20, 2010
I want the kids to leave excited about what they can build, with enough
tools to keep exploring.
14Saturday, February 20, 2010
Form a plan(but expect to adapt)
• Also known as, “what do I start with?”
• Keep your goals in mind.
• Tools:
• Shoes
• Hackety Hack
• Small Ruby
15Saturday, February 20, 2010
Notice a theme?
• Kids love anything visual
• They also love anything interactive
• irb: compelling for adults.
• (Maybe.)
16Saturday, February 20, 2010
Your plan
• Install all the tools you might use on all the computers the kids have access to.
• Start small
• Use teh intarwebz
17Saturday, February 20, 2010
Keep iterations short
• Your “lesson plan” should be a series of very small steps
• 15 minutes or less
• Visual change
18Saturday, February 20, 2010
Listen to the customer
• Follow tangents!
• Don’t stick to a plan because it’s the plan
• Don’t worry about “finishing”
• Look for teachable moments
• Look for signs they’ve turned off
19Saturday, February 20, 2010
Deploy continuously• Teaching is a learned skill.
• Take all the opportunities you can to teach.
• talks at your local meetup
• pair programming
• summer camps, etc., need volunteers
• National Lab Day
• In SF, I always need teachers for introductory workshops
20Saturday, February 20, 2010
Expect some things you try to fall flat.
Keep at it.
21Saturday, February 20, 2010
To sum up
• You should teach.
• You can teach.
• Agile is for more than just development.
• Practice.
22Saturday, February 20, 2010
Questions
23Saturday, February 20, 2010