teaching kids to code: first lesson

Last week I taught a 4th/5th grade class an introduction to computer programming.  It was chaotic, as such classes sometimes are, but fun.  I hear the kids enjoyed it and am planning classs #2 for Friday.  I decided to use Shoes which uses the Ruby language and includes some nice graphics and UI primitives (some notes on why).

Here’s a few notes about the experience:

  • I told the kids that they would be learning Ruby, which I use in my work, and they seemed pretty excited that they were learning a “real” programming language
  • Kids loved the name “Shoes” — laughter and joyous confusion when I was explaining what it was
  • I started the class with a computer history presentation which could have been a full hour long class itself, the kids really liked it and wanted to ask more questions & make
    observations (I ended up spending 25 minutes on this, instead of my planned 10 min). They were really interested in the computer history talk and were excited to hear about the stuff created in their lifetime that they actually knew about and used.  I made sure to mention both women and men in the history (Charles Babbage and Ada Lovelace working on the difference engine; later the two guys who created the hardware and six women who created the software for the ENIAC).  I also made sure to discuss recent history.  Half the class was not yet born in 1998, and for them the Web, Google and YouTube are contemporary with microwave ovens (e.g most people use them). My timeline ended with:

    • 1993: World Wide Web created
    • 1995: Shockwave & Flash first released
    • 1998: Google website launched
    • 2004: FlickR website launched
    • 2005: YouTube website launched
    • 2007: Shoes released!
  • I need to work more on the setup, since I can’t seem to rely on the school computers no matter how much time I spend setting them up (4 hours
    the day before).  There’s all sorts of odd issues with the student accounts not having correct permissions and some computers having special
    cleanup software which wipes everything you just installed when the computer restarts (!)  I was considering putting Shoes and Notepad++ on a USB drive and see if they can just access the installed software from there, but a RailsBridge volunteer is experimenting with creating an Ubunto LiveCD with Shoes which I’m pretty excited about.  Meanwhile, for Friday, I’ve made some progress with install issues on the school computers — cross your fingers for me.
  • What I normally do when I have taught programming before is a coding demo with students following along and typing with me.  I wish I had done that.  Instead, because of the set up glitches, I let them follow the instructions while Chad, another RailsBridge volunteer, and I tried to debug various install issues… and the instructions weren’t really made for that.  Interactive Q&A is a teaching style that works well at this age. I think it would be good to accidentally (on purpose) create a syntax error and have them see me debug it.
  • I didn’t complete my whole lesson plan in the first class… so I have plenty of material for class #2.

I’m publishing the lesson plans as part of the RailsBridge project “teaching kids” which is just starting up — if anyone is interested in collaborating, let me know or just sign up for the RailsBridge google group and chime in.  The worksheets are published on github.

It has been an awesome experience working within the RailsBridge community and the super friendly shoes list.  This is stuff I would be doing anyhow, but with a community of collaborators, I feel like the work I am putting in will not only teach and inspire 28 kids in SF, but perhaps spread to other schools and families through the resources that are being published and the excitement generated on the lists.

This entry was posted in general. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

9 Comments

  1. Posted May 21, 2009 at 3:53 am | Permalink

    While I was sorry to hear about your configuration issues, this post brought a big smile to my face. I hope we can look forward to more posts about your adventures in teaching.

    As a veteran programmer and the parent of a clever little girl, I appreciate all that you and your colleagues are doing in this area. Looking forward to hacking some wee Shoes programs with my daughter when she’s a little older!

  2. Posted May 21, 2009 at 6:08 am | Permalink

    If you are looking for stuff to do with younger kids, you can check out http://www.flyingpaperclips.com/ which is a catalog of science experiments for first graders (suitable for K-2 and a few for younger or older kids). Young children are natural scientists and encouraging that early is wonderful.

  3. Posted May 24, 2009 at 7:00 pm | Permalink

    > Kids loved the name “Shoes”
    hahaha. Cool!
    Great success. Congrats!
    I’m really looking forward to read your next adventure report of this project. :-D

  4. Posted June 23, 2009 at 12:40 pm | Permalink

    Thank you! I’m teaching my 10 year old Ruby and this will be an added surprise to his learning.

    I think my daughter will love this too. :-)

  5. Posted August 3, 2009 at 6:21 pm | Permalink

    Hey great stuff! Been trying to teach my girlfriend ruby, but didn’t get far enough with Shoes. She is a teacher (science/physics) and there are some interesting applications for simple GUI coding in a classroom environment.

  6. brahim
    Posted September 18, 2009 at 7:24 am | Permalink

    what y retrying is amasing.thanks for sharing.

  7. TScott
    Posted September 27, 2009 at 6:05 pm | Permalink

    Is there something wrong with the link for Shoes? http://shoooes.net/?

    That and the variations I tried did not find anything but footwear sites…

  8. Posted September 28, 2009 at 3:19 am | Permalink

    The new website is here: http://shoes.heroku.com/

  9. David Lorenz
    Posted October 1, 2009 at 5:01 pm | Permalink

    I am a lateral entry school teacher acquiring my teaching certificate for High School mathematics. My prior career was a computer programmer for many years.
    At what do you think that students will actually be able to code and understand the concepts behind the computer programming? Would coding a game program be a good way to start off?

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*