I’ve always been a big fan of languages and even a bigger fan of those who readily master multiple languages with relative ease. My late brother was a linguist with a minimum of five or so distinct languages in his portfolio. Yes, there were many things that I thought I could do better, but that one gift of his was the thing that I would remember him by as time went on. The other day, my son Eric asked me for advice on what courses to take in Grade 10. He essentially had three electives and, as with most public schools in our country, there were countless choices, all of which sounded tantalizingly interesting and enriching. In the end he came to the conclusion (OK, I drove him to the conclusion), that French, German, and Computer Science would be the right choices.
I won’t bore you with details of the heated debate that erupted but the key arguments I made were that language was a fundamental skill that will feed into anything he chooses to do. Furthermore, electives such as music, drama, etc., though very interesting and even fun, are often things that can be enjoyed and studied outside of school. In fact, I argued, such areas are often more fun treated as hobbies instead of work. Conversely, I always believed that some structured instruction in languages is very helpful and combined, eventually, with some immersion or even just exposure to native speakers of a target language, can greatly accelerate the mastery of a new language.
So how does computer science fit into this thread? Well, the particular flavor of computer science taught at Eric’s high school is an introduction to programming course. Eric, like every other 14 year old in this country, has already mastered a staggering range of applications including unique ones like Maple (at least for basic algebra), music composition, video production, and of course, many different forms of social networking LOL. And he, presumably, will continue to develop such skills. I do believe, however, that the essence of computing – i.e. understanding how does a computer actually do what it does – is one of the fundamental fields of knowledge in the modern context. Once you start programming you get a much better grasp of this question and the intended hierarchy of things … computers were designed to do what you want them to do, although, for most people, it often seems like it’s the computer that’s driving the person’s behavior. For the same reason that picking up another language will open many new doors for you in your personal and professional life, understanding the language of computers will help you reconcile the immense potential and hazards of modern digital wonders with your life.
In many ways, the Maple system is a great example of how enlightening a computer language can be. I’m an old school Maple user. I was introduced to it as a language, I did my most significant technical work (for my research) by programming fairly complex applications with it, and even today, with Maple and MapleSim both sporting highly efficient and streamlined GUI environments, I continue to marvel at how expressive and elegant the underlying language is. I purposely use words like “expressive” and “enlightening” because I truly do believe that Maple, C, FORTRAN, Assembler, etc. etc. are genuine tools of communication. This is perhaps an odd way of looking at computer languages but, even spoken/written language, in most cases, is used with an application purpose in mind. Obvious examples include writing a book, making a speech, debating a point with a friend. Those who are more adept at the many rhetorical tools available in our spoken/written languages, will of course typically be more proficient at such applications. This is entirely analogous to what an adept programmer would do.
Eric is really looking forward to both French/German courses and the computer science course. He now seems to have some appreciation of the foundational tools of human knowledge and how, in a very general and broad sense, the richness of language, in all forms, can ultimately be a formidable empowering skill even if you can’t express a connection between the course and some precise outcome in the future. Outside of the classroom, Eric plans to develop his musical interests by joining the choir next year, in addition to his current interests in the band and guitar club. Derek Wright has also lent us his accordion and Eric is looking forward to adding polka and French love songs to his repertoire. Va bene!
A glimpse into the future. Eric and his sister Maddi explore some tourist German phrases. Photo taken in 2007 at a little café in Aachen, Germany.