Tuesday, 1 May 2012

Dairy of a Disenfranchised Coder

The first blog entry I ever wrote (about 18 months ago), spoke of risk aversion in students, but began with a brief 'why I never pursued computers'.  This one opens that up a a bit and looks at how childhood interests never seem to fade away.

In the 1980s, I became interested in computers because my father wouldn't buy me an Intellivision game console.  The Vic 20 we got instead became our gaming system, but it was much more.  I've carried a sense of intellectual superiority over game consoles ever since.  The Vic could plug in cartridges and play games, but where it really took off was with the datasette.  When we got our hands on that, we suddenly had the ability to save our work.  Before I knew it, I was begging my parents to drive to the only computer store in the area whenever a new COMPUTE! magazine came out so I could type out the basic programs in there.

None of this had anything to do with school.  Our junior high school had 3 Pets in the library, but it was typically a 2 week wait to get half an hour on one.  You had no chance of gaining any kind of familiarity with them.

It started all about video games, but quickly turned to coding.  Instead of buying the latest game (Cosmic Cruncher?), I was saving the paper route money for a 3k memory expander (I kept filling up the 3.5k of working RAM with code).  With more room to move, I began modifying those COMPUTE! programs, turning a road racing game into a Star Wars trench battle or the 8 key sound synthesizer into full keyboard synthesizer.

I'd shown friends what I was doing and soon Ataris and Apples began to appear in the neighborhood.  We'd dictate code while the fastest typer would hammer away at it, then we'd proof and run it.  Hours of speculation and experimentation about how changes might affect things followed.

There was no grade 9 computer course in high school, but I quickly leapt at the grade 10 one in 1985.  By then I had a Commodore 64 at home and we'd all discovered that if you had a good recording deck, you could sound record the cassettes that software came on.  There was a thriving pirating hub in high school with what looked like homemade mixed tapes.  A teacher once took one that was being passed in class and tried to listen to it, it wasn't pretty.

That grade 10 class used a card reader.  We laboriously spent hours penciling in our lines of code, and would receive a printout off a dot matrix printer (which sounded like a machine gun tearing through silk).  I lasted about a month at this before I became determined to get a printer of my own.  No one else in the school had one, and the only place to find one was half way across the city.  Four bus transfers and a long night of travel got me back home with the printer, only to discover it was defective.  Another six hours on the bus and I was home again with the only dot matrix printer anyone had.

I coded at home, printed out my results and got to bypass the agony of the card reader.  Others begged me for access.  It became a nice sideline and paid for itself in short order.

Our grade 10 computer teacher was a young guy who got the job because he was the only one who could maintain the card reader without it jamming up all the time, he didn't actually know much about coding (and why would he, he only had a card reader to figure it out on).  I did well in grade 10 intro to computers but was really excited to get into senior computer science.  The astronomer dream had been dashed in grade 10 physics when I discovered, to my horror, that physics was really just lots and lots of math, which I found tedious and unimaginative.  Anything that had only one way to a single solution seemed mind numbingly dull.  I was still hoping to find my niche in computer science though.

Finally able to get onto the senior computer science lab (first gen IBM x86s!), I was stunned to learn that our computer science teacher wanted us to program... math. I found the assignments linear and the teacher, who already knew the mathletes in the class, didn't have time for anyone else or anything other than mathematical certainty in coding; the opposite of my experimental, hacking approach to programming.  Five years of passionate self-driven learning dissipated in a cloud of frustration and disinterest over that semester.

My parents went to the teacher conference confused at how a kid who spent hours and hours of his free time coding could be such an epic failure in this class.  My weakness in maths was sighted as the problem.  I'd signed up for the grade 12 class in semester two, but withdrew immediately when it started.  The teacher seemed surprised that I'd signed up for consecutive semesters of comp-sci.  I was surprised that he remembered my name.  And so ended my love affair with coding computers.

Of course I maintained an interest in computers, mainly around gaming and hardware, and eventually went on to get some I.T. certifications and even worked in software implementation in a few places, but getting knocked out of the holy grail of computing, the place where you author how a machine thinks, put the idea of working fully in the field beyond reach, and created a sense of self doubt that a teen is only too willing to embrace.

I'm getting computer certified this summer as a teacher.  When I walk into that class in the fall I'm hoping that I can support as many different approaches to coding as there are students in the room.  The last thing I want to do is knock a keen, self directed learner out of a woefully underdeveloped field of study in secondary schools.