Learning to Program, Programming to Learn

One of the reasons that we decided to move to Chelsea was the proximity to the USV office.  The other was that our kids can walk to Avenues, a new private school with an ambitious program of building campuses in leading cities around the world.  Another distinguishing factor of Avenues has been their embrace of technology which got a good writeup in today’s Wall Street Journal.  Our kids each have both an iPad and a MacBook Air from school and use both of them heavily across a variety of classes.

There is one important missing component though so far and that is learning to program. That of course has been the subject of my Tech Tuesdays and I have in the past promoted Scratch as a way for kids to learn programming.  In that post I wrote that “the use of Scratch can and should be pervasive throughout instruction rather than being something taught separately.”  Here is just a short set of ideas for how to do that in different classes:

  • History - changing maps over time; graphical relationships between concepts and people; animated historical timelines
  • English - create word games; animated six word biography; create your own scene from a drama (“enter stage left”)
  • Music - create electronic compositions; visualize sound and music
  • Science - simulate experiments; graph the results from experiments; safely explode things
  • Math - illustrate the number line; create math games; show the relation between algebra and geometry

Having spent more time writing about programming and also talking to my kids about it, I have become even more convinced of the importance of integrating it into other classes.  The reason is that programming provides an exceptional way of learning a concept.  It is reminiscent of the saying that you haven’t really learned anything unless you have taught it several times.  Programming is “teaching” the computer how to do something.  If you can’t teach it to the computer you have probably not completely understood it.  Hence the “programming to learn” in the subject line of this post.

For instance, our kids are currently learning about identities and inverses in Math.  If they were simultaneously learning how to write a program that kind find the inverse of a number for either addition or multiplication, I am convinced it would give them a much deeper understanding.

Thankfully the team running Avenues is receptive to this idea.  I will be spending time at the school in early December to meet with several of the instructors to talk about Scratch and other ways to integrate programming into the learning experience.  It is something I very much look forward to. 

Posted: 19th November 2012Comments
Tags:  programming learning education Avenues