code-for-a-living January 12, 2021

Want to teach your kids to code? Here are three apps that can help.

Like many of you, I am a coder with kids at home. What better time to start exposing our kids to the career we all think is amazing! You do think programming is amazing, right? 😀  Well, even if you don’t, coding teaches kids the fundamentals of logic and encourages them to think abstractly. Let’s…

Like many of you, I am a coder with kids at home. What better time to start exposing our kids to the career we all think is amazing! You do think programming is amazing, right? 😀  Well, even if you don’t, coding teaches kids the fundamentals of logic and encourages them to think abstractly. Let’s face it, technology is only going to become more pervasive over time, so even if your kids go on to be plumbers, doctors, or teachers, they will likely have to interface with technology in their career of choice. 

Before we go any farther, be sure to temper your expectations about what your child will gain from these apps. None of these apps will “teach your kids to code,” but rather, they are the first step in a journey toward understanding basic logic, analysis, and design. These are the building blocks to coding and a more sophisticated understanding of information systems and processing. Above all the end goal is to have fun!

To see what’s available for kids, I (and my daughter) reviewed three coding apps—Scratch Jr., Codespark, and Kodable—though there are many more to choose from. My daughter is six years old and just started first grade. For each of these apps, I first downloaded them myself and worked on a few of the challenges. I then presented them to my daughter in a non-threatening way; like “Hey, check out this new app I found,” and I would work on a challenge while she watched. If you have kids you know it only takes them about ten seconds of watching you do it before they say “Let me try!” I then let her “play” and only jumped in when she asked for help or became visibly frustrated with a level or task. After this point, I mostly just sat back and made note of if/when she would return to the app on her own. 

While homeschooling, my partner and I decided no TV or games during working hours, so if we were not working on a particular learning task, I would say to my daughter, “You can have screen time, but it has to be educational.” In addition to a handful of other learning apps, she also has the option to play on the coding apps. The majority of use in our family was on an iPad. I did some testing on a Fire HD 10 with Scratch Jr. and Codespark. Kodable does not have an app for Fire, though it can be used in a browser on Amazon Fire.

Scratch Jr.

Scratch Jr. was developed by Tufts University, PBS Kids, and the MIT Media Lab and is an offshoot of the popular Scratch App. While Scratch is intended for children eight and up, Scratch Jr. was created for younger kids ages five to seven. Scratch Jr. has a similar look/feel to Scratch and is based on the same idea of creating interactive stories.

Scratch Jr. allows kids to create artboards and stories with characters that can talk and move around the artboard. Scratch Jr. does not expose kids to any actual code; rather, it reinforces coding concepts through the use of puzzle pieces (drag-and-drop programming) that allow kids to control their character. Each puzzle piece designates a different action or movement. Kids can not only select the order of the movements of their character but they can also use loops and functions to repeat actions. 

Kids can modify just about every aspect imaginable for these stories from the clothes and colors of the characters and backgrounds to the making audio recordings and text subtitles to add to the stories. Scratch Jr. has a more creative feel and doesn’t feel as “computer science-y” as the other two apps, and that’s not a bad thing. It really depends on your goals as a parent and what your child enjoys. If the task or challenges become too onerous, your child will quickly withdraw, so the fun factor is a must. As you can see in the image below, the artboard can be a little busy especially for younger kids. I can’t stress enough that introducing these apps to your kids really has to be a collaborative effort between you and your child. In the beginning, you may need to hover and help them along as they explore.

Artboard in Scratch Jr.

Website: https://www.scratchjr.org/

Platform: iOS, Android

Price: Free

Pros:

  • Good introduction to basic logic
  • Lots of creative freedom
  • The price is right (free!)

Cons:

  • Non-profit, so limited active development
  • Not as technical
  • Formal curriculum is less well developed

Kodable

Kodable was founded in 2012 and, along with CodeHS boasts, a K-12 pathway for kids to learn to code. Kodable offers kids the ability to create and customize characters in addition to drag-and-drop style programming that is common to all of the apps covered in this article. However, Kodable puts its own spin on drag-and-drop programming by challenging your child to use 

loops and functions to move their character through various mazes. These challenges were the best implementation I saw in all the apps I tested for improving logic and problem-solving.

Drag and drop programming in Kodable

Beyond drag-and-drop programming, Kodable exposes kids to actual code even though they are not actually typing out the code themselves. In the image below, you can see an example of this. 

Getting exposed to code in Kodable

The code is pre-filled in the text field at the top and kids drag the closing tag onto the screen below to stop the green slime from attacking their character. This is an interesting approach. My daughter enjoyed this particular game, but I’m unsure about how much the coding part of it actually sank in. However, I think the idea is that later, in more advanced lessons, kids will actually begin to use the concepts you see here like instantiating new objects and setting object attributes in code they write themselves.

Kodeable also includes socially conscious themes with games like Beach Cleanup, where kids remove trash from the beach to save seals and turtles.

Kodable offers robust parental login where you can see your child’s progress. You can create multiple profiles, so I created my own profile to experiment with the games and levels before my daughter reached them to be more helpful when she reached them.

Viewing your child’s progress in Kodable

Website: https://www.kodable.com/

Platform: iOS, Web Browser

Price: 7 days free/$6.99 a month/$49.99 a year/$120 lifetime

YouTube Channel:  https://www.youtube.com/user/kodablekidscancode

Pros: 

  • Full k-12 curriculum
  • Good exposure to more advanced programming concepts
  • Regular email promotions with code/game challenges

Cons:

  • Learning path is not always clear
  • Some challenges are to difficult with no clear solution

Code Spark

Code Spark employs the same drag-and-drop-style logic games as the other apps, but has more of an arcade feel to the games. My daughter seemed to enjoy the games in Codespark the most of all the apps I tested. More than once, I have found her playing games in Codespark without any prompting.

Below you can see a screenshot of one of the drag-and-drop games using loops.

The “Explore” section of Codespark introduces kids to more sophisticated programming concepts like variables and inequalities, stacks and queues, and boolean logic. Some of the games that help reinforce these concepts are better than others and, for many of the games, it will require some hand holding to help your child through the levels. I found some games in Codespark are not very intuitive, and like a lot of learning in programming, the tasks end up feeling a bit contrived. Below is an example from the “Stacks and Queues” game where you have to choose the order of animals from the platform to fill the appropriate character at the bottom.

The example above is a game that is super fun and challenging, but my daughters attention span began to wane after a short time. So again, making sure the games are fun and engaging while still reinforcing programming concepts is the line these apps are trying to walk.

Website: https://codespark.com/

Platform: iOS, Android, Web Browser

Price: 7 days free/$7.99 a month

YouTube Channel at https://www.youtube.com/channel/UCRDYihW5bt2bFeZZNjM6alw

Pros:

  • Good use of gamification
  • Exposure to advanced concepts

Cons:

  • Need to sign up for teacher account to get lessons and formal curriculum

Kodable and Code Spark have a more complete curriculum that kids can follow as they get older, whereas Scratch Jr’s is pretty limited. Both Kodable and CodeSpark have a curriculum for educators and offer robust parental login controls where you can see your child’s progress.

In the end, you really can’t lose with any of these apps. However, Kodable and CodeSpark definitely offer a more well-rounded experience for kids and a lot of more features that we have come to expect in modern apps. For less than $10 per month, the bar is pretty low for giving these apps a try and see how your kid likes them. Having these apps available to your kids also gives some nuance to their screen time. So rather than screen time being an anything goes experience (which means video), you can add “educational screen time” to their options.

I hope you found this article useful and, if there are programming apps your kids are using, let us know about them in the comments below.

Tags: ,
Podcast logo The Stack Overflow Podcast is a weekly conversation about working in software development, learning to code, and the art and culture of computer programming.

Related

The Overflow Newsletter Banner
newsletter September 17, 2021

The Overflow #91: Observability is the future (of your DevOps career)

Welcome to ISSUE #91 of The Overflow! This newsletter is by developers, for developers, written and curated by the Stack Overflow team and Cassidy Williams at Netlify. This week: scaling front-end design with a system, helping fighter jets score hits with radar, and ignoring the front-end development scene without missing a beat. From the blog Scaling front end…
code-for-a-living July 21, 2021

Why you should build on Kubernetes from day one

If you’re building a new app today, it might be worth taking a closer look at making it cloud-native and using Kubernetes from the jump. The effort to set up Kubernetes is less than you think. Certainly, it’s less than the effort it would take to refactor your app later on to support containerization.