We think you're near Los Angeles

Currently in Los Angeles

Location: Los Angeles Current temperature: 70°F: Current condition: Clear See Extended Forecast

Teaching programming to children

Kids tend to become interested in programming through being consumers. So it’s likely that if a child expresses interest in programming, it will be such activities as making app’s for the iPod or becoming a computer game programmer. The problem is, those are not really attainable as first goals, and trying to attain them too early may either turn your child off to future attempts, or teach him bad habits that will cause trouble later.

Adults studying computer science usually learn in a sequence that makes sense from the point of view of learning the basis of programming skills. But computer classes for kids seem to focus more on keeping kids' interest than on teaching them the skills that will help them both attain their short-term goals and provide a solid foundation for attacking more complex programming activities.

Parents and teachers guiding interested young programmers can find plenty of tools aimed at kids that will help them understand programming techniques, restrict them from making frustrating mistakes, and also allow them to have fun. Below are some recommendations for programming environments based on your child's skill and age.

Advertisement

A great beginning programming environment aimed at kids is Microworlds JR, which is based on the Logo programming language. Microworlds is made by a for-profit company, and thus does cost money. But it’s an excellent starting place for a young or pre-reading child. Of the youth-focused programming environments available, Microworlds JR is the only one that is 100% graphical. 

Scratch is a fabulous and free programming environment from MIT. Scratch offers a number of advantages for kids who are just starting to program.

First of all, Scratch is visually based. The bits of each program are contained in “blocks” which you fit together very much like blocks in the real world. Though this might sound limiting, it’s actually freeing for a child who is not ready to conceive of a program in a language, but can visualize it as blocks of activity. It correlates well with the way kids play with ideas. It also doesn't require much typing, and thus will suffer little from typing errors.

Second, because Scratch is contained within this block world, it’s impossible for a child to run into the sorts of problems that the freedom of a programming language offers. An analogy is this: Your child wants to play. You could choose the construction site down the street, which would be very, very fun! However, it contains real tools that a child could cut her hand off with, and real girders above real concrete where she could fall. So instead, we create playgrounds which, if they are good ones, are both safe and offer activities that teach our children skills through play. Scratch is like the coolest safe playground on your computer.

Third, the biggest strength of Scratch is the wonderful, safe, online community. Kids love posting their work, getting comments, and seeing the work that everyone else is doing. Programming is something that can tend to lead to lots of time in a dark room staring at a glowing screen. Scratch gets kids at least metaphorically out of that dark room so they can share with each other. If you live in a community where there are few opportunities for young programmers to get together, the online Scratch community is very valuable.

Once kids have mastered Scratch and are itching for more, there's Alice, a free environment offered by Carnegie Mellon. Alice is a very seductive environment for kids who are born storytellers. You start an Alice program by creating a “world” and populating it with characters and objects, all of which can be manipulated. If you’re looking to interest a child who isn’t naturally attracted to programming, Alice is a good place to start. It’s possible to create things in Alice without even knowing that you are programming!

Like Scratch, Alice is heavy on the need to read, but light on demands for typing skills. Unlike Scratch, Alice offers a world of programming with few limits. Based on the Java programming language, Alice offers depth that kids could mine for years. It also prepares them for real-world programming by mirroring the structure of Java. The upcoming release of Alice promises to have an even closer relationship between Alice and Java, to encourage kids to move past Alice when they are ready.

One problem with Alice is overcoming an older child's initial belief that Alice isn't "serious" because of its fun interface. However, Alice actually offers more depth and requires more understanding of programming than Scratch. The Alice blog offers this post about the difference between Alice and Scratch. Alice actually requires a deeper understanding of programming structure than Scratch, which is why it is recommended to master Scratch first.

A child who is ready for Alice and programming complexity is probably also ready for Microworlds EX, a wide-ranging, adaptable programming language for kids. The makers of EX recommend this environment for kids in fourth grade and higher. Because EX involves typing, and typing is not the forte of many younger children, it’s easy to introduce syntax errors into programs. EX is also based on Logo, and offers a child-focused environment that correlates well with real-world programming.

Using visually based environments made especially for kids allows kids to explore in ways that will save them from the frustration and headaches of too many choices and too many demands they’re not ready for.

So if your child tells you they want to start by programming iPod app’s, you might want to offer them a period first of learning programming through tools that will help them understand what programming is. Just like a climbing wall is a better starting place to learn climbing than Half Dome, these environments can offer fun and learning that will spark creativity and well-developed logical and spacial reasoning abilities before your child goes on to the wild world of programming.

Further resources:

Alice tutorials:

, Gifted Children Examiner

Suki lives in California and is a widely published author of fiction and poetry. Since her main job description changed from "writer" to "mommy," she has changed her writing focus to parenting, community, education, and other issues that concern modern families. She writes often about giftedness:...

Don't miss...