Earlier this week I heard a piece on the CBC St. John’s morning show regarding the assertion that computer programming is something that should be taught in our public school system. Later on I read much the same article off the CBC NL website. The spokesperson for Code NL asserted that existing public school courses within our province were “a joke” and noted that in giving people the training in computer skills we could move away from our reliance on natural resources.
While, at least on the surface, this sounds reasonable, the reality is much more complex.
First some of the assertions are inaccurate. The spokesperson stated that existing courses were “a joke” and, besides sounding rather condescending to both teachers and students alike, without data to back up this assertion it must be considered to be only a personal opinion. The belief that the courses are only offered “in the Metro” area is also false. They are, for example, available in Gander, Clarenville, Corner Brook, Stephenville, Goose Bay, as well as in a host of smaller communities both locally and through CDLI. There is academic life “beyond the overpass.”
But there are more important things that should be stated in reply to the story.
Chief among these is the fact that schools do not exist for the sole purpose of preparing people for the world of work. While that is certainly ONE of the aims of public education it is important to also realize that the full picture is much broader. Schools exist because we wish to have individuals with the attitudes, skills and knowledge necessary to lead happy, worthwhile lives—at home, at work and within the community at large. Yes, of course we need people who contribute to the economy—after all, bills, both public and private, have to be paid and for that we must all do our part: earn money and pay our taxes. That said, it’s important to remember that as a society what we really need are people who lead good, personally meaningful lives, and who also live out their duties to the community.
Added to this is the reality that we live in a diverse, vibrant society. Young people come to school with varying interests, abilities and values. Sure, we are all citizens of a single community, a single province and, at least at first glance, it makes some degree of sense that an intricate knowledge of those little electronic gadgets that so dominate our lives seems to make some sense. But just think about our already busy schools and consider the value of additional mandatory publically funded courses in:
– Plumbing, because running water and sewer are vital parts of our public infrastructure;
– Carpentry, because, shelter is important, especially in our nasty cold environment;
– Cooking, because we all have to eat on a regular basis;
– Embalming, because we’re all going to need it.
Of course not! That’s silly in the extreme. Schools cannot be expected to do everything and, besides, one of the benefits to living in a large diverse society is that we have the critical mass needed to ensure that levels of expertise exist, to the necessary extent, across any given community.
We don’t all have to be able to do everything.
So, too, with programming: It’s a vital part of our economy and its effects within our personal lives are too broad to even summarize. Still, we don’t all need to be programmers to appreciate the technology or to use it effectively.
There’s something else: it’s naïve to assume that taking a course or two, in school, in programming, is something that will prepare a young person for a career in that field. Programmers do much more than just write code. Sure, that’s a vital part of the enterprise and, besides, it’s fun to write code bits and have computers do clever things. That said, the fact is that only a few of the students who would be forced to take that mandatory course (or courses) would see the value in it and, thus, put in the required effort. The result would likely be a halfhearted thing leading to jaded teachers and students; in sum a waste of time and money.
The reality is that computer science is not something that can be sparked and ignited like your backyard barbecue. It is, rather, a complex skill that takes many years of personal investment of both time and effort. Besides knowing the basics of a code’s “language” the programming professional also understands logic and structure. Most importantly the programmer sees it all within a complex, disciplined problem-solving framework, something that only happens in an environment specifically created to doing just that—namely a computer science academic unit or a well-run enterprise dedicated to that pursuit…
…and specifically NOT a public school that is already over-burdened with unrealistic expectations from its governing agencies and from the public at large.
Still, the sentiment is a valid one, albeit a bit misdirected. Instead of trying to create yet another course, along with its attendant monetary costs (and they will be steep; computer hardware and software, along with the required training is costly; a bottomless black hole into which one pours money) perhaps those interested in promoting the cause of programming should do what others with similar interest have done, and continue to do: forego advocacy for outreach.
Instead of publically shaming governments and schools for not teaching the stuff, work alongside of the various partners: government, districts, the university and the NLTA.
Instead of asking them to do what you feel is important, offer free workshops for students and teachers. Visit schools and participate in professional development activities. Focus in integrating some of the skills and knowledge within the existing educational framework. Add vitality rather than simply grafting on something else to an already overburdened structure.