Wow, has it been a month already? While I have enjoyed my time here sharing my thoughts and resources on world of code (and yes, I could certainly go on!), it is time alas for my last article here on TechEx. Thanks to everyone who has read, considered, and especially tried their hand at code, or at least understanding it and considering its importance in the context of how we use technology, and access information.
I must admit I am glad I saved this topic for last because it is near and dear to my heart, both as I look back on my first experiences in learning to code in elementary school, as well as father of a young daughter who I hope will have same thirst for technology as her dad (though right now she is definitely more princesses and pink). So here for your consideration, are some tools and resources you can explore to introduce, or teach, code to children.
The fact remains that I think it is personally vital that our education institutions, including libraries, embrace the participate in STEM related learning activities with children as young as possible. By introducing them to a love and understanding of the sciences, math, technology, and engineering, we are engaging in preparing them for not only a fast-changing global economy, but building the foundation for the next generation of tinkerers, makers, designers, and creative thinkers that will be able to participate in, succeed in, and innovate our world. Ok. Off the soapbox. Here are some tools you can use at your library to do coding with kids, or pass along to parents who might be interested in the topic for their children.
Preschool (Ages 3-5)
Robot Turtles - http://www.robotturtles.com/
I bought this game for my 3 year old daughter this Christmas and it has been loads of fun! The game is a kickstarter project from a former Google programmer, and the idea was to create a board game that would teach very basic programming/coding concepts for pre-school age children, but would be fun for anyone to play. Mission accomplished.
In the game, you use cards to more a turtle around the board to capture a jewel. Each card is a “command” that is issued by the child, and provides one movement (turn or forward) to the turtle. There is also a “bug” card which allows them to undo their previous move and choose a new one. The game then adds additional elements such as obstacles and lasers once you have gained a mastery of basic gameplay.
There are so many great things about this game. It teaches basic concepts such as commands, debugging, basic code syntax rules, code structure, and critical thinking skills. Once you complete the game, you can show your child all their moves, in order, and talk to them about how they have written their first program, and what it did. The structure and command design borrows much from the LOGO language (see more below).
The game is in limited run so might be really hard to get, if not available anymore, but if you can get your hands on one for your children’s room, or home for your little one, it comes with my highest recommendation.
1st to 3rd Grade
Code Crunch - http://educationcity.com/codecrunch/
Code Crunch is a browser-based education site that allows children to “construct” small programs using colorful visual images. There is a heavy focus on mathematics here (which is awesome!) and uses a simple drag and drop interface to create lines of commands. There is also the ability to do basic variable assignment, as well as if/then statements, and loops.
Turtle Academy - http://turtleacademy.com/learn.php
Turtle Academy is a great online tutorial and environment for learning the LOGO programming language. Designed with children in mind, this language has been around for decades, and has sort of lost luster in the world of Scratch and other visual programming languages. However, as someone who cut their teeth on this in elementary school, I have a place in my heart for the little triangle turtle.
A command/text based language, the idea is to issue statements to the turtle who will then perform them in succession. However, besides just moving he also has a pen with which he can draw and retract, allowing for endless artistic possibilities within a coded environment.
Or, to just toy around with LOGO commands and have some fun, try http://www.calormen.com/jslogo/, a web based LOGO environment and editor.
Mobile Apps - If you want to use, or suggest some apps children this age (and older) can use to have fun with coding on a mobile device, you can try some of these :
Hopscotch (iPad) - https://www.gethopscotch.com/ (Free)
Kodable (iPad) - https://itunes.apple.com/us/app/kodable/id577673067?mt=8 (Free)
Cargobot (iPad) - http://twolivesleft.com/CargoBot/ (Free)
Daisy the Dinosaur (iPad) - https://itunes.apple.com/us/app/daisy-the-dinosaur/id490514278
Light-Bot (Android, iOS) - http://light-bot.com/ ($2.99)
4th - 8th grade
The standard bearer of visual programming languages, Scratch continues to be a great platform for not only learning the coding concepts, but creating animations, art, and other interactive creations. There is great documentation for this resources, and recently the platform has moved entirely to the cloud, so that you no longer need to download any software (works right in the browser). You can also create class accounts which make it all the easier to use as a teaching tool. Users can also post their work online for others to view, use, and remix. It should be noted that Scratch is also compatible with the Makey Makey micro-controller.
Because of the huge popularity of Scratch, there have been other visual programming environments that have cropped up in the last few years. These “clones” (and I mean this with no disrespect) offer some nice alternatives to Scratch, and in some cases, different features”
Snap! - http://snap.berkeley.edu/snapsource/snap.html - browser based and compatible with Makey Makey
Tynker - http://www.tynker.com/ - note : this is a pay product!
Small Basic - http://smallbasic.com/
This Microsoft product is designed to let young coders learn and use the Basic programming language in a fun environment creating games. It comes with tons of documentation, teachers resources, and a design curriculum you can use for teaching
Another Microsoft product, this one uses a visual programming environment to allow children to develop complex 3D games and environments, characters, interactions, movements, and games. As with Small Basic, there is a great resource library for learning and teaching in Kodu.
STEM Challenge - http://www.stemchallenge.org/
This is a not a coding resource per se, but a contest that encourages children and teens to learn coding and create games around themes that better our world. I share it here less for the contest (though please feel free to read through and consider participating as a host institution) but more for the great list of tools they provide for creating games.