Programming for Kids
In the past few months, I’ve seen this topic come up several times from friends and parents wanting to introduce their children to the world of computing. To be fair, programming is only one aspect of computing but it is a great tool building math skills and cognitive thinking. First, I would tell you that your child needs to have basic computer skills; keyboard familiarization, mouse control, and understanding basic concepts like typing are a must simply because a lot of the programming tools are going to assume that this is already known. Second, programming is not for everyone. If your child shows no interest or becomes bored, don’t force it. Programming can be fun and exciting, but forcing the concepts won’t help. Like most things, we as humans need to have an interest and desire to be driven towards certain aspects in our lives and this is no different. Our kids are just little humans trying to find their way in the world too.
Enough of that. Let’s get the juicy stuff! I’m going to try and make this as easy as possible for you and your child to decide which tools are best for you. Each have their benefits and likewise, their faults, but they are just mere stepping stones into the world of programming. Also, each programming language is like Apple vs. Android; we all have our favorite flavors and each one serves a different purpose for reaching and end goal. Try things out and if it doesn’t work for you, try another, but give them each a chance and see what fits your style best.
Tools best suited for Primary level school children are growing everyday but here I’m going to list some of my favorites and explain why I’ve chosen them.
Scratch offers an online community that is great for both sharing ideas as well as getting feedback and learning from others. The team at Scratch is also committed to making the online community user friendly, by not only encouraging constructive feedback, but by also policing the site with CleanSpeak and following up on reports of others who do not follow the rules. As with all online services however, also do your own monitoring to be sure kids are safe while on the site.
PROs: I can’t speak enough about the community, but if you prefer not to join in, there is also an offline version of Scratch available. I should point out that Scratch is maintained by a group of MIT folks called the LiFELONG KiNDERGARTEN team, whose mission is to build technologies for all children to learn design.
CONs: If I had to point one out, it’s that Scratch isn’t for all ages. Older kids
may find it boring and it’s good for introducing coding, programming principals, but I would suggest quickly moving on to more detailed concepts
Kodu similar to Scratch, Kodu offers online communities and forums for getting help and sharing ideas. Kodu is backed by Microsoft and uses visual programming to help teach creativity and problem solving. Where it differs from Scratch, is that the concepts are built around games, so the while the learning is similar, the end goals are not as broad. I chose Kodu though, because of this. Sometimes FUN is what we need to get value out of things and seeing a game you built come to life is amazing. Also, Kodu extends from the PC to the XBOX game system and while not necessary, provides additional outlets for your creations.
PROs: Community based, backed by Microsoft, so you know it’s going to be around a while and support is good. What I think is best however, is that anyone can help teach Kodu and they even have prebuilt curriculums for home school or public school settings.
CONs: Requirements for the computer are a bit higher than most, simply because you’re building games. Kodu is a great tool, but depending on the age of your computer, you may be pressed to look elsewhere.
PRICE: PC is Free; XBOX Marketplace ~$5
Alice teaches programming using an interactive interface and allows you to see immediately how the programs run which in turn, allows you to understand the relationships between the language and the objects on screen.
PROs: Community based, and backed by software giants such as Oracle, EA Games, Sun Micro, Google and Disney. Oracle even provides further resources using Alice at their Oracle Academy.
CONs: Some of the teaching content is limited to brick and mortar schools, which I think is a shame. While I understand their desire to keep the integrity of the source material, it defeats the purpose of providing a free learning tool for parents who home school. That said however, there are other resources made freely available for teaching Alice. One of my favorites is provided by Kathy Menchaca at Duke University, which also provides workshops for teachers. You can find the Duke Resources here.
KidsRuby Ruby is becoming a big part of today’s programming, in part because of the natural flow of its language, but also because of its power. Ruby is my favorite of the programming languages, due in part to how easily it can be modified to suit your own needs. It can do everything from simple web design to more robust Windows, MAC OS and Linux fully functioning programs.
PROs: Visual guide allows you to write, run and see the output all at once in the same window and because Ruby language is built more on simplicity, the code is easy to pick up.
CONs: The one downside to all this is that while Ruby is gaining popularity, Ruby tutorials and kid friendly programs are still very rare and sites like KidsRuby are just getting started up. There is a silver lining and thankfully KidsRuby is the successor to Hackety Hack, which is still around and has some good tutorials. The best part; the Hackety Hack code works in KidsRuby so you get the best of both worlds.
PROs: Code Kingdoms is my favorite of all the kids coding sites and tools, so I won’t lie to you when I say I’m biased. The concept is great, the folks behind it are clearly in tune with what makes learning to program fun and the tools just work. The best part is that it’s web based so you do everything from a browser window. While this may not seem like such a great benefit, think about this: most other tools need a PC to run on or a tablet device for on the go fun, but rarely both. Code Kingdoms is one of the first to cross that barrier and because of it’s web friendly design, it works on PC, Linux, Mac, Android and Apple iOS devices. Essentially, if you can open a browser on it, you can run Code Kingdoms on it.
CONs: Sadly, Code Kingdoms is currently free, but will likely go to a paid structure at some point in 2015 when they officially launch. There may be some perks to early adopters to get in with a discount or some other bonus, but expect that you’ll be paying something in the near future for continued use of the Code Kingdom tools. What is great, is that the developers maintain that they will always keep it free for schools, but it is still unclear if home schools will be included in that statement.
PRICE: Free (during development) Suggested to be “paid service” at a future date on launch.
Apps for on the go learning
We covered the tools that are great for use at home on your PC or MAC, but what about taking the learning on the road? Here are a few suggestions for the traveling coder in your class.
Daisy the Dinosaur Great little programming app for the iPad that teaches the basics.
PROs: Fun and cute entry level programming for the little guys.
CONs: Very few options to keep kids engaged for long. Daisy really is geared toward the much younger kids (4-6), but even then, they will be left wanting to make Daisy do more. There hasn’t been much development or updates to Daisy, but the developer Hopscotch may have meant for this to be the stepping stone to their flagship app.
Hopscotch The programming app that just keeps getting better.
PROs: Where Daisy leaves off, Hopscotch picks up in a big way. I’ve been playing with Hopscotch for a year now and the updates just keep getting better. There is even a new iPhone version that lets you play the games you design in the iPad app.
CONs: You really have to dig deep to find something wrong with Hopscotch on the whole. My biggest complaint and it seems like I’m not alone, is that there isn’t enough sound. Music, or sound effects would make this app a 5 star rating for me.
Move the Turtle Another great app for iPad with fun “tasks” that help kids learn
the basics by moving your turtle to draw shapes or pictures.
PROs: Great fun, visually appealing and simple to use.
CONs: With other up and coming apps like Hopscotch, the developer for Move the Turtle needs to brush up the app and fix some current issues with the new iOS 8. Aside from that, it’s still a great learning tool, but one that is getting outdated and comes with a price tag.
Beyond the kid stuff
There are a myriad of tools out there for learning, even beyond the children’s tools. I won’t go into great detail here as many of these sites are already well known, but if your child excels at programming and is eager for more, try some of the following as the “next step” in their programming adventures.
CodeAcademy – Great site with easy to follow steps. All the classes are free and broken up into small chunks to make learning easier and at your own pace.
udemy– While somewhat new to the online learning scene, Udemy is making a name for itself with its ease of entry and mobile apps for on the go. While not all of Udemy is free, there are some really great deals for learning programming (or even other skills). I recommend checking out “Fractus Learning” and their Programming for Kids course.
KhanAcademy – Like a cross between CodeAcademy and udemy, Khan offers a lot of great courses for free. Their Computer Programming line will take you through several modes of programming starting with Into level and ending on high level development.
Pluralsight – Normally a high end paid computer based learning vendor, Pluralsight has done something really amazing by offering some of its courses FREE for kids. Not only do they have their own programing course, but they’ve also offered up some beginning courses on many of the tools I’ve talked about; Scratch, App Inventor, Kodu and Hopscotch.
Stuff that isn’t free but may be worth looking into.
For educators, both home and brick and mortar style, having a good website to get feedback from is always a plus. While I’m not an educator, I was very involved in my children’s schools back in the day and I found Graphite to be a great resource.
Lastly, never forget the power of the written word. We live in a technological society and it’s easy to forget how much impact a book can have on our learning and development. For this reason, I also wanted to include a few great examples of books geared toward introducing programming to your kids.