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.
Computer Tools
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
PRICE: Free
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.
PRICE: Free
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.
PRICE: Free
Code Kingdoms JavaScript
has been around for a while, but it’s still very much alive and kicking, which
makes it another great programming language to learn. Here is where Code Kingdoms comes in. While the site and tools are still under development,
the kids who are currently involved are actually helping to write the code with
the developers of Code Kingdom. How cool
is that?!?! The concept is simple; play
games that help you learn programming concepts from the very basics. The site also grows with your child’s
progress. Where you start out with
dragging and dropping, you later advance to actual text based coding. They guys at Code Kingdom keep it fun by “leveling”
your skills and discovering new content as you progress.
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.
PRICE: Free
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.
PRICE: Free
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.
PRICE: $2.99
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.
Honorable Mentions
Stuff that isn’t free but may be worth looking into.
Other resources
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.
Happy Coding!!