Over the last couple of years, I’ve been an active participant in the Hour of Code. If you’re unfamiliar with the Hour of Code, here’s a blurb from its site:
The Hour of Code is a global movement reaching tens of millions of students in 180+ countries. Anyone anywhere can organize an Hour of Code event. One-hour tutorials are available in over 45 languages. No experience needed. Ages 4 to 104.
In a nutshell, the HoC is a week in December where nerds like you and me have a chance to go into a classroom and lead a programming-related event. It is incredibly fulfilling. I cherish the times I’ve had in the classroom and I look forward to doing it again this week. I strongly encourage you to find a local school and offer up some of your time. Often, you don’t even have to go to the school, as they can set up Hangouts or Skype calls with the class. I’ve gone the hangout route before, and while it wasn’t as much fun as being in the classroom, it is still enjoyable and greatly appreciated by the teachers and students.
Once you’ve decided to give your time and energy to a HoC event, you’ll likely need some ideas. Luckily, the internet is flush with suggestions and events you can use to make it look like you spent a ton of time planning. Today, I am going to focus in on 5 Ruby-related items that you can use to have some programming fun with the kids.
Kids Ruby is an installable program for all platforms that offers up a Ruby environment to test out Ruby code and see the result. The site even has a class you can use to teach the kids some programming using Ruby.
Unfortunately, the OSX installer wouldn’t work on MacOS Sierra, so I’d need a different platform. But, if you aren’t on the latest version of Mac OS or you’re on Windows, Debian, or RaspberryPi, KidsRuby is an easy way to handle your HoC event. You should probably prepare some simple Ruby snippets they can code to or come up with little challenges that have simple Ruby snippets as their answers.
Dubbing itself the “first book for teaching kids Ruby”, Rubykin is a set of 10 chapters that walks through the basics of Ruby. It has many examples that you can run through with the kids in irb or Repl.it. In fact, you should build on some of these examples and give the kids simple exercises to perform. Maybe you can give the challenges and make them Ruby races (first one done wins!).
You’ll probably need to have kids share devices, but the school/class hopefully has a few Chromebooks or PCs that are available.
RailsBridge – Teaching Kids
RailsBridge is a wonderful organization with the goal of “…[teaching] people to code because we believe that the people making technology should accurately reflect the diversity of those using it.” They have a “Teaching Kids” page with links to various Ruby-related lessons for various age levels. One of the lessons uses Shoes to show graphics and create an RGB demonstration.
Some of the links on that page are broken or malformed or old, but there are plenty of ideas for you to use or modify. In the story about teaching Ruby to High School Girls, for example, there are some examples on how to get going with Shoes along with code snippets. The RailsBridge docs also have some links on how to teach Ruby (and other languages).
Hello Ruby is a childrens’ book written by Linda Liukas. From the site:
Hello Ruby is the world’s most whimsical way to learn about computers, technology and programming.
In the book, Ruby is a girl that interacts with various characters, each of which represents a concept in programming. The book is very, very good, and if the class you are helping is younger (say, K – 3rd Grade), then the book is perfect. Also, the back of the book has many activities that you can do with the class, including making your own computer out of construction paper and stickers. Oh, the activities are on the Hello Ruby site, too.
When you’re done, you can donate the book (or books) to the class as a reminder of the incredible event you facilitated. I did this last year for a class and they were very excited.
Another book to try out is Ruby Wizardry: An Introduction to Programming for Kids. In this case, you’d likely need to prepare ahead of time to figure out which chapter (or chapters) you want to go through during your time with the class. You could have kids take turns writing in the code bits while you explain the concepts, for example. Then, just like with Hello Ruby, you could donate one or more copies of the books to the class.
This book might be better suited for older classes, like Middle Schoolers. I encourage you to take a look at the free excerpt (“The King and His String”) to get a feel for how the book is written. It’s a lot of fun.
So, I know I said I was going to give you just 5 Ruby resources, but I like you, so I am going to add more. There are tons of resources for teaching and leading events around programming for kids, and some of the best are Ruby-specific. Here are few of my favorites:
- Code.org – Code.org sponsors the Hour of Code, among other things. The Code.org site has videos on how to teach kids of all levels, along with activities to use. It is an incredible site.
- CS Unplugged.org – CS Unplugged is another wonderful site with loads of activities to perform with kids. Teach Binary, sorting algorithms, image representation, and much, much more. Plus, there is a book you can buy to support their efforts, which I recommend you give to the class when they leave.
- Google for Education – Google has a ton of resources to teach programming. This site is really, really incredible.
- Here’s a post on Medium from the people at Free Code Camp about doing Hour of Code with your kids.
By the way, I organized a field trip to my office for a couple of classes last year and wrote about it (I copied the above resources from that post, but it’s my post so that’s OK), so don’t feel like the HoC is your only week to spread knowledge.
I hope this post inspires you to give some of your time to a local group of kids. We are lucky to be in the technical industry, so we should pay our luck forward to the next generations. Who knows, the hour you spend today could end up inspiring great technical minds that solve problems and build great things. Oh, and it’s just plain fun, too.