Beyond LEGOS: Coding for Kids

 

HTML for Babies Board Book

STEM is dominating educational conversations these days. But for those of us in public libraries, how can we integrate the STEM concepts into our work? Lots of children’s libraries have LEGO clubs and that certainly is a good start. We may not have a formal learning environment in our public libraries, but we do have high demand for programming. At my library, whenever we are developing new programs or services, we like to look around at the community to identify a need, then research whether or not someone else is filling that need. When it comes to technology, often there is a huge hole just waiting for the library to fill it!

Right now, we are putting together a big STEM based fair at my library this summer and it got me thinking about technology programming for kids. Three years ago I developed Little Clickers to fill a technology education need, computer classes for preschoolers and their caregivers. Things change so quickly and now we are planning on ways to fill a new and unique need – teaching kids how to write code.

Here is the truth though, I don’t know how to write code or program! Sure, I learned some HTML in grad school, but haven’t had the time to commit to learning proper code in my free time. That isn’t going to stop us from doing programs for kids to learn, and hey, maybe we’ll learn a little along the way!

In my investigations, it seems there are 3 programming languages that are easiest for kids to start with; Python, Ruby and Scratch. Once kids are comfortable, they can graduate to the more challenging languages like Perl and C++ (to name a few). Programming is really more about problem solving than math and many coders started as young as ages 8 and 9. Some languages require kids to be confident at typing on a keyboard, while others like Scratch, are visual and just require good hand-eye coordination for image manipulation.

Here are a few resources to get kids started coding at your own library.

CoderDojo logoMy colleague pointed me to quite possibly the coolest coding program for kids that I’ve seen yet, Coder Dojo. Coder Dojo is a movement to create free coder clubs that have experienced mentors from the community help kids as they learn and experiment with writing code. Starting a Dojo looks super easy and libraries definitely fit the requirements: a place with internet access, regular scheduling, volunteer support, someone to organize it and keep it “cool.” Hey, even if you can’t code, I bet you are a champion organizer! It sounds similar to the Computer Clubhouse after-school computer programs where kids from under-served communities work with adult mentors to develop computer skills and projects. We are starting our first CoderDojo this summer and can’t WAIT to get it started.

Invent Your Own Computer Games with Python is a great self-directed book that can be read freely online or purchased in print. It teaches a concept through game creation projects using source code. The book was written for elementary age kids so no doubt we adults can learn from it just as easily.

Scratch is probably the most recognizable program and also very easy to build a program around in your library. Developed by the MIT Media Lab, it is a graphical programming language for kids starting at (or even younger) age 8. Sharing and remixing is an important element of it’s success – kids upload their projects to the site for others to download and tinker with. Over 2 million projects have been uploaded and you can plan to have a Scratch Day at your library on May 19th, 2012 along with hundreds of others around the world. If you live on the east coast, you might want to consider attending the Create Your World, Scratch@MIT this summer (July 25-28, 2012, Cambridge, MA) when educators, researchers, developers and members of the Scratch community will come together.

Another open source project is Mozilla Hackasaurus which allows kids to mash up and change websites from within a browser. Hackasaurus has provided a nifty “Hactivity” tool kit for educators that includes step-by-step instructions, printables, lesson plans, assessment rubrics and cheat sheets for running your own “hack jam.” This is more hack than create, but still fun to play around with.

Kids Ruby is a program for teaching kids the Ruby programming language. While the program is great at guiding kids through, the site does not yet offer lesson plans.  It does provide offline work however as you download the program and can run it offline.

Microsoft Research Labs also has a product for teaching kids to create games for PCs and XBox, Kodu. Like Scratch, Kodu is a visual programming language and it also provides curriculum and resources for adults who work with kids to help you get started.

Storytelling Alice is a “programming environment designed to motivate a broad spectrum of middle school students (particularly girls) to learn to program computers through creating short 3D animated movies.” It is only available for Windows as the project was created as part of the research for a PhD dissertation, but certainly is neat to play around with. Storytelling Alice applies principles of Alice, the 3D visual programming language, but is structured differently for a younger audience.

We can’t talk coding without talking about LEGO Mindstorms. Mindstorms use a variety of languages for their programmable materials (bricks) with motors, sensors, gears, beams and more. The robotics piece of Mindstorms is the NXT which is the “brain” of the robot. They can get expensive, but might be something you can get a grant for or a local company to donate.

A new product that recently grabbed my interest is called Raspberry Pi, a pocket computer that
plugs into an external monitor to help kids learn to program and build the computer at the same time. Just released last month, they are in limited production so unlikely we can get a dozen to use in our programs, but I’m keeping my eye on the company and the idea. It supports Python as the language. Very interesting!

Don’t let the fact that you don’t know how to write code stop you from helping the kids at your library learn. There are some great, free options out there if you are feeling adventurous and want to learn how to code or run programs for adults. Check out and join Code Academy! You can sign up (for free) for the Code Year program where you are taken through a program to learn coding with weekly self-paced lessons. If you need a little support, LITA and ALCTS have jointly sponsored a Code Year Interest Group who have an active group on ALA Connect and will be meeting at ALA Annual this year in Anaheim. It is on my calendar as a personal challenge for next year.

As technology marches forward, let’s not be left in its wake. Computers are becoming faster and smaller and more and more opportunities are presenting themselves for libraries to get in the programming game. We can help teach the skills and the ethics from an early age. Go ahead, jump in and say, “Hello World!”

Gretchen Caserotti is the Assistant Director for Public Services at Darien Library, CT. She currently serves as the Chair of the ALSC Children and Technology Committee. She can be found twitter as @gcaserotti.

This entry was posted in Blogger Children and Technology Committee, Children & Technology, Programming Ideas, Technology. Bookmark the permalink.

15 Responses to Beyond LEGOS: Coding for Kids

  1. Ashley Waring says:

    Thank you for this post! We are applying for a STEM grant and plan on hosting some sort of coding class for upper-elementary kids. These are wonderful resources for us to know about. Thank you!

  2. Andromeda says:

    eeee, I love this post!

    Two more things I want to point out:

    1) Although Python (and, from what I hear, Ruby and Scratch) are definitely more newbie-friendly than, e.g., perl or C, Python and Ruby are totally real programming languages. Unglue.it is built in Python; Twitter was originally built on Ruby. So people can start with newbie-friendly stuff *and* use it for enterprise-scale projects.

    2) I’ve heard a lot of recommendations for this book: http://www.amazon.com/Hello-World-Computer-Programming-Beginners/dp/1933988495 It’s a Python intro for kids. I expect we’ll get it ourselves in a couple of years, when Ms5 is Ms7 or so :).

    • ALSC Children and Technology committee says:

      Thanks Andromeda, LOVE your point about the possibilities! We’ll definitely look at getting that book in our library too :-)
      (I’ll join you next year in Code Year if you are still involved with it -gretchen)

  3. Inger says:

    This would be a really good tool for teaching speakers of other languages as well. I like how Ms. Caserotti emphasized that public libraries especially should look around their community and discover what is needed educationally, because nine times out of ten, one of the main places that would fulfill this need for children, and sometimes adults, is the public library. Communities that have a high population that speak another language besides English would need a lot of language assistance, but the children non-Native English speakers would probably love STEM, Python, Ruby, and etc. The Queens Borough Public Libraries are good examples of public facilities that observed what their community needed. They have a lot of programs to help new immigrants adjust to a new life and a new country. They may have STEM now as well.

    • ALSC Children and Technology committee says:

      Great points Inger! Technology is both in a great divide and also a great equalizer in my mind – funny huh? I hope we all can find some inspiration for programs and services for learners of all ages in our public libraries!

  4. LRosenthal says:

    Our library just received a grant & a donation of software licenses for Games Factory 2 software: it’s more complicated than Scratch, but allows for a more robust programming experience. Classes at our Library will enable students to create a game by following a tutorial that comes with the software, then can expand that game or create a new one, using the Library’s computers. No coding is required – like Scratch, it’s a graphical programming language – and easy to get started with. We’re excited for this STEM learning opportunity.

  5. Alex Miller says:

    Great post! I would also strongly recommend you check out the Processing language (http://processing.org). It’s a great language for kids. It comes with an editor/player for all major platforms as a simple install. It is designed for media programming and it is very easy to get started with graphics, sound, and interaction.

  6. Lawrence says:

    With ProgrammingKit.com you get practice programming a computer! Kids and adults can have fun moving the bug around and drawing different designs.

    Parents: Ask your child to have the robot bug walk in a pattern (square, triangle, etc). Use the grid to count the boxes. Ask your child to have the robot bug walk to a particular spot on the screen.

  7. Pingback: Exploring the World of 3D Modeling | ALSC Blog

  8. The Thumbist says:

    We agree. It’s time to equip our children with the skills for the future. HTML Learning for Toddlers is a MUST! We need to start RE-educating the current Curriculum with the ABC’s of the 21st century. Join the revolution:

    https://itunes.apple.com/gb/book/my-first-book-of-code/id603489714?mt=11

  9. Kelly says:

    Our dev team is actually working on a new project to help young kids develop the logic/problem-solving skills they’ll need to eventually learn coding. Kids program a robot to navigate through progressively challenging mazes and can even go head-to-head with friends in programming tournaments. You can check it out here: http://botlogic.us. We’re excited about the response we’ve gotten so far!

  10. Jason Reis says:

    I am a programmer turned technology educator . However I am so surprised that although universities like MIT have come out with SCRATCH there are no good software systems based on SCRATCH but would teach the basic HTML tags that could be used with younger kids to teach them to code.

  11. Pingback: How libraries are expanding the frontier of digital technology

  12. Pingback: LEGO Mindstorms for Tweens (Or How I Had to Give Myself a Crash Course in Robotics) | ALSC Blog

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>