Since I graduated from David Thompson ten years ago this month, expect maudlin reminiscing about high school over the next few weeks. I expect commentary from anyone involved. (You know who you are.)
My mom’s kept around a lot of my papers from around that time which I asked to be shipped down when I moved to Seattle. When I finally started sifting through them lately, I came across the following gem: my Computer Science 12 grades, first time around (I took it in grade 10).
I’d totally forgotten about this. I’ve been trotting out my linear algebra grades in university as an example of my academic ineptitude, but I think this takes the cake. So what happened? Well, I didn’t quite “get” functions back then. I’d aced CS 11 the year before, and what little programming we’d done was accomplished in QuickBasic, without ever using functions - not that this wasn’t possible in QuickBasic, we just never got around to covering that subject. So when we were introduced to Turbo Pascal in CS 12, I just could not make that mental leap to the world of FUNCTION and PROCEDURE. Why on earth would people need to write code this way?
This sounds enormously stupid twelve years after the fact, but that really was the turning point in that course for me. After I got stuck on functions, I more or less gave up. We never even got close to using the object oriented features in Turbo Pascal so I don’t recall what else was covered. It couldn’t have been that much. (Bubble sorting?) I guess it didn’t help that I think I skipped more than half of the classes towards the second half of the year. There’s certainly no way I only missed zero and two days in the second and third terms like my report card says. We’d worked out a system where someone else would say “Here!” when Mr. Turley did roll call. I don’t think he noticed - or more likely, he just didn’t care; there were at least four of us gone each class, all of sitting consecutively in a row next to the printer right next to the teacher’s workstation.
Two years later I did take CS 12 again and more than made up for that glaring ‘P’ on my transcript. In between though, the curriculum hadn’t changed a single bit. (Thankfully, it was a different teacher.) So I ended studying for the AP exam on my own - and the AB level of CS tested some basic data structures, which involved this trivial middling concept called “pointers”. Yet another gigantic stumbling block for my addled brain to deal with. Why would anyone want to know the address of a variable when they already had a name for that variable? Why on earth would people need to write code this way?
Ever hear those programmers who claim they’ve been hacking on computers, ever since elementary school? And how it came naturally to them? Well, that sooo wasn’t me. It was uphill all the way, baby.