Friday, November 16, 2007

Virtual physics playgrounds

Noah loves physics and engineering right now, provided they're of the virtual sort. He's been picking away at the CyberEd Physics course online, but is more enamoured of physics "playgrounds" or "sandboxes" which allow him to create or play with virtual manipulatives within programs governed by physics engines of various sorts. He's listed several of his favourites on his website Games Page.

In particular he is taken with RigidChips. This one is unique in that you use text-based scripting to create definitions for physical objects which are subject to forces like gravity and wind, travel on land, by air and/or by water, and have attributes like mass, braking, rockets. Pictured at the right are two of the scorpions he created.

Here is just part of the code he wrote to define the scorpion:

Key{
 0:Engine(step=100)
 1:Engine(step=-100)
 2:Steering(step=-2),Lean(step=-2),Tail1(step=1),Tail2(step=-1)
 3:Steering(step=2),Lean(step=2),Tail1(step=-1),Tail2(step=-1)
 4:Weapon(step=10000000)
 5:Sidestep(step=5)
 6:Aim(step=-3)
 9:Aim(step=3)
}
Body{
 Core(Color=#AAFF00){
  S:Chip(Color=#0000FF){
   S:Weight(Color=#111111){
    S:Weight(Color=#111111){
     S:Chip(Color=#111111,Angle=Tail2){
      S:Trim(Color=#111111,Angle=Tail1){
       S:Chip(Color=#111111,Angle=-41){
        S:Chip(Color=#111111,Angle=Aim){
         S:Chip(Color=#0000FF,Angle=-43){
          S:Arm(Color=#AAFF00,Angle=-15,Power=Weapon,Option=20000){}
         }
        }
        N:Trim(Color=#AAFF00,Angle=Sidestep){
         N:Chip(Color=#0000FF){
          N:Wheel(Color=#AAFF00,Angle=Lean,Power=Engine){}
         }
        }
       }
      }
     }
    }
   }
   E:Rudder(Color=#AAFF00,Angle=Steering){
    E:Wheel(Color=#0000FF,Angle=90,Power=Engine){}
   }
   W:Rudder(Color=#AAFF00,Angle=Steering){
    W:Wheel(Color=#0000FF,Angle=90,Power=-Engine){}
   }
  }
  W:Trim(Color=#0000FF,Angle=25){}
E:Trim(Color=#0000FF,Angle=-25){}

Colour me impressed.

A year or so ago he was spending many mindless hours playing Runescape. I couldn't get him off the computer in any consistent way. I didn't want to resort to limit-setting and a coercive environment. I have done my best to help him learn to monitor and balance his computer use with other uses of his time. But I gave up any serious effort to get him to reduce his computer time, and instead started putting effort into encouraging him to spend his computer time at things that really made him use his brain, whatever he decided those might be. That was a real turning point. He's gravitated towards "modding" and other types of programming / coding, on-line communication through forums and e-mail, gameplay that continually stretches his knowledge and problem-solving skills and publishing and maintaining webpages.

I'd still rather he spent more time in social and active pursuits, but I have to say I am thrilled with where his self-motivated computer learning is taking him.

1 comment:

  1. Hey, Miranda, I know what you mean. Having a self-labelled computer geek in my house, it's hard when they want to be on the computer all the time and you want them to have some balance and ... you know ... have a life! However, in the last year, my 15 year old has taught himself SO much, Photoshop, HTML, XML, all that stuff, he has his own website, and he has built his own PC and has just learned a lot about Linux! Now that he has his own computer, he is on it a LOT and I can see that he is learning more and more. I still remind him now and again that he needs to get out of the house occasionally or he's going to be a pale, sickly, overweight blob! Thankfully he hasn't got hooked on coffee....yet!

    ReplyDelete

This blog is moving to archive-only status. Please consider posting comments instead at the active version of the blog at nurturedbylove.ca/blog

Note: only a member of this blog may post a comment.