My daughter and I exploring retro games at the Game On exhibit at the Ontario Science Centre.
Walking around the exhibit, I started thinking about the impact of programming on my life. Consider that we now have a well established “internet of information” where the majority of programming takes place on a specialized device (computer) and are beginning to experience an additional phase of programming on an increasing number of connected everyday devices (through wifi, Bluetooth etc.) AKA the internet of things. Who is going to have the expertise (and time) to connect and program all these new devices in the coming days?!
My first programming memory starts with my Commodore 64 back in the day (ok I’ll own up, early ’80’s). Many an hour (or four+) was spent tinkering and playing with the keyboard, basic OS and removable media of that day (cassette tapes and then floppy disks). This machine helped me learn to program in Basic, Logo and of course play (and manage) many applications and of course many, many games with friends. It was often SO slow that complete games of hockey, baseball, meals or general socializing could take place (while waiting for games like Jumpman, Grand Prix or California Games (among many other good and not so good games) to actually load! In retrospect, I think perhaps more time was spent talking about, finding, saving and sharing than actually playing them…but the chase is sometimes the best part. However, this slow unreliable but well-loved computer taught me much about programming and computer operations like keyboarding and even web browsing through a basic modem (remember the BBS anyone). In this stage, programming was confined to speciality devices like computers and its interest was confined to us geeky kids. (Although, I’ll bet that all the best tech-savvy individuals you know from Generation X group probably have a some history with an Apple III, C-64, VIC-20 or even Amiga etc. but I digress. (For fun here is a list of the 100 most popular C-64 games.)
My next programming memory takes place in Cambridge in the United Kingdom sometime in 1998. My then savvy girlfriend, now my beloved wife told me that the engineering department was working with AT&T to create a programmable fridge. The fridge would record the contents inside through the barcode and presumably send the results to someone’s computer. Sounded cool but this was still outside the daily experience of the everyday (especially us on an starving student budget). Although it was early days I would characterize this as a key moment in the “internet of things” as an everyday object (fridge) becomes “smart” enough to connect with another speciality device (computer).
However, the world of mobile devices is where connected devices become quite handy and a ready technology for the everyday. With an increasing amount of devices on the network our smartphones become our “remote control” for the home and potentially the world. In this new phase of programming, the “smart” fridge has increasing functionality, presumably as an app for our phones, making a list so we can check it twice, before we receive a message geo located and timed when near the local grocery store. We can control objects through specific settings and have those objects are set up to predict our needs. (i.e. think scheduled recordings on a PVR but for every object.) This article from Wired’s June 2013 issue called “Welcome to the Programmable World” by Bill Wasik probably best describes up the benefits and challenges in this new phase of programming.
In this new world of “smart” objects, programming skills like designing, debugging and re-mixing are going to become increasing mainstream. In October at ECCO 2013, I have been asked to present about my work with a visual programming language called Scratch in my technology classes. My junior students love Scratch as it is a digital extension of playing, tinkering and creating. I look forward to sharing my experiences, successes and resources with programming. (Here is a link to my Scratch resource page.) The UK education system has already adopted programming as a key revision of their ICT curriculum in 2014. The United States also has a strong movement to champion programming represented at code.org. So I feel in good company support the need for programming in the already busy elementary curriculum.
I look forward to chatting about my Adventures with Scratch in the classroom and especially the increasing interaction between digital and physical objects. (My Makey Makey kit is in the mail and I look forward to exploring this intersection of the digital and physical in the new school year.