For a child today, learning to program can be just as useful, if not more, than learning to speak a foreign language like Spanish or Mandarin. In a way, computer code is a foreign language. If you live in a place like Seattle, speaking code is “geek rigueur.” Considering our children are so-called ‘net natives or digital natives who were born in the age of iPhones, tablets and apps, it makes sense for them to have at least a basic understanding of programming. Their vocabulary is utterly different from what my husband and I knew when we were their age. Given the high demand for a STEM (science, technology, engineering, math) workforce, I believe that I would be doing my children a disservice if I didn’t expose them to computer programming. Even if they never enter a related field, the thought processes involved with programming can help my kids hone their analytical skills.
Hector Rovira, a co-worker of mine at Institute for Systems Biology who’s a software architect, suggested that I check out Scratch. It’s a programming language developed by MIT’s Lifelong Kindergarten Group. First of all, how cool is it that there’s a Lifelong Kindergarten Group? I love this description of the program:
In school, they learn specific facts and skills, but rarely get the opportunity to design things — or to learn about the process of designing things. Outside school, they interact with electronic toys and games, but they don’t learn how to invent new ones. In the Lifelong Kindergarten group, we’re trying to change that. We believe that it is critically important for all children, from all backgrounds, to grow up knowing how to design, create, and express themselves.
Hector explained that the programming club at his daughter’s elementary school uses Scratch to teach kids about coding and assured me that it would be suitable even for Meilee, who’s 6. So we gave it a try.
Scratch is designed for kids aged 8-16, but anyone interested in learning programming can use the site. You can create any number of projects from simple animations to video games. You also can share your projects with the Scratch community. There’s a helpful tutorial that explains the essentials. When you create a new project, you can choose a character – what’s called a sprite – and then you can program movement, background, sounds, costumes and such. You also can upload original images with which to work. I helped Meilee start the tutorial and then sat back to see what she could do. Basic command scripts are found in color-coded blocks that can be dragged from the master list (above left) to the adjacent scripts pane (above center).
It wasn’t all fun, as you can see above. But the first time Meilee and Shen saw their character move and change color as the result of scripts that Meilee programmed, they experienced the purest joy (as in the lead photo above). The look in Meilee’s eyes showed a great sense of accomplishment – and that was just from the tutorial.
An additional point of joy for me is that Scratch is FREE. You have to sign up for an account on behalf of your child, but there’s no cost to join the community or use the site. This is worthwhile computer time. I fully anticipate being able to say to my children, “You can’t play video games unless it’s one you create.” Maybe that’s wishful thinking, but maybe it’s not.
Watch professor Mitch Resnick, Director of the Lifelong Kindergarten Group and LEGO Papert Professor of Learning Research at MIT Media Lab, in his TED Talk explaining why we need to teach kids to code.