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.
My 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.