This is a question we get asked a lot. The short answer is that it depends. That’s hardly a satisfying answer, so let’s get into some general guidelines you can use to help navigate the sea of options that are out there.
Don’t write off Scratch
Scratch sometimes gets a bad reputation because it’s often used for introductory programming with very young students. As a result, many Scratch projects people see are fairly simple. One of the great things about Scratch is that is has a low floor, so many kinds of students can get going with it quickly. However, it also becomes easy to miss the huge number of
rich,
complex,
projects you can create with Scratch. Harvard has even used Scratch as
part of it’s Introductory Computer Science class. It’s possible to delve into very abstract computer science concepts with Scratch, so even if your child has some exposure to the language, chances are she can go much deeper.
Start with a visual language if possible
For most of us, learning programming requires us to think in a totally new way. As your child is getting a handle on these novel concepts, it helps to minimize the amount of extraneous information they have to learn. Most text-based programming languages are not forgiving in their grammar, and this can cause a lot of unnecessary frustration. If your child has to worry about indentation or semi-colons, he won’t have as much bandwidth to focus on programming fundamentals like logic and abstraction. If you have a choice between multiple languages, choose one that has a block-based, drag-and-drop format like
Scratch or
LEGO Mindstorms.
Choose your language based on the task
Different programming languages lend themselves better to different types of problems. For example, if you’re just starting off with game development, then Scratch or Construct might be a good choice. If you want to create websites, you’ll need to learn HTML and CSS. If you want to create more complex web applications, you’ll need to also use another language like Ruby. Most programming languages share a core set of fundamental concepts, so your child will be able to build the same fundamental skills regardless of language choice. If your child does not have a specific project in mind, we would highly recommend talking with your child to select an engaging project first, then choosing an appropriate language afterwards. Your child’s interest in the application of a language is one of the biggest factors in how quickly she can pick it up.
We’ve combined all these insights into a
handy tool you can use to help select the most appropriate programming language for your child. At Digital Adventures, we’ll take the guesswork out of the process and make sure your child is using the best language to most efficiently learn foundational skills.
Join our growing community!
Sign up to receive the latest news, special offers, & updates about Digital Adventures.