When I was 8 years old (or so, my memory isn’t very good any more), my school got access to a PDP-11 computer owned by another school 3 towns away. We had 8 terminals running over a dedicated 2400 baud leased line, which gave us a whopping 300 baud connection at any given terminal. At the time I couldn’t imagine needing more than 300 baud, since that was about as fast as I could read, why would anyone need more?
Being an 8 year old kid, my primary interest was playing games. If memory serves me right, the only games available were the original Colossal Cave Adventure and a game called Skis where you had to build a business selling skis or something. Of course I wanted more. Someone handed me a copy of BASIC Computer Games and after hours of typing I was off and playing amazing games like Hunt the Wumpus! Having to type in the source code was a quick jump start to learning how to program.
Two years later my mom bought me at TRS-80 Model 1 (level 2 though, with a whopping 16KB of memory!) I have memories of my dad having to tell me to turn off the computer and go to sleep before school as he got up for work in the morning. You couldn’t tear me away from that thing. Over time I went from working in BASIC to assembly language to writing my own PILOT interpreter and exploring every nook & cranny of that machine. It obviously served me well, because I am still coding away and exploring the far reaches of what a computer can do.
Fast forward a few (just a few) years and now I have kids about that age and I want to teach them how to program. The good news for them is that they have no end of games to choose from on phones, Kindles, iPads – I even think our TV can run Angry Birds now. The bad news is they they don’t have as much incentive that I had to make a computer do more. The good news is that the tools are much more interesting and engaging.
We are starting with 2 different programming environments, LEGO Mindstorms and Scratch. The LEGO Mindstorms kit allows you to build a robot from pieces and then program it to do things and respond to stimulus. Interestingly, the software looks a lot like programming in Alteryx – to the point that some of the inspiration for our ongoing improvements of app authoring comes from it (I think that means I can expense the cost of the LEGOs, right?) The physical dimension of the robot puppy moving around the living room inspires the kids and they want it to do more.
Scratch from MIT is a wonderful programming environment that is extremely visual and object oriented. You get to associate actions and responses to the elements on screen. The turtle graphics aspect of it brings me back to learning LOGO on a TI 99/4A computer. It is really fun and engaging for the kids and they love diving in a making it show silly images and play weird sounds. One of our kids has already been diving in to the point where his favorite camp of the summer was programming in Scratch.
Over the next few months we (the kids & I) will be working on projects in both environments and I will be posting our experiences (success or failure) along with the source code – if you can call it that in a visual environment.
Thanks for reading,
August 23, 2013 at 7:26 pm
There is another entry in this series: Teaching Kids to Program: Pong
Pingback: Lego Robot: A Mazing | Ned Harding
Pingback: Teaching Kids to Program: How Young? | Ned Harding