I was a teenage programmer before teenage programmers were cool
Summary: In honor of this week's Great Debate about whether kids should be taught programming, David Gewirtz takes us back almost 40 years, and shows us how his teachers inspired him back in the punch card and paper tape days.
Thirty-seven years is a long time. Even with the help of Doc Brown, Marty McFly only managed to go back three decades. I'm going to try to add seven years to their previously unbroken record and take us back from 2013 to 1976.
I grew up in the 1960s and 1970s. I never wanted to be a computer scientist or a programmer.
I remember that from about age 13 until I went to college, I had a big poster of the moonshot lunar insertion trajectory hanging over my bed. I liked science, and generally thought I wanted to be a scientist. As a kid who grew up in the heady days of the Apollo program, I had a vague idea that I wanted to work for NASA.
As it turns out, I now live on the Space Coast, about 40 minutes south of Cape Canaveral. Ironically, in the eight years I've lived here, I've never had time to visit the rocket site.
I was technically inclined, and so I spent a lot of time with the A/V club. I liked tinkering with the mechanical components of the projectors, and liked the sound and fuss of the sprockets as they wound film through the mechanism. I also liked avoiding some classes.
My public high school had a small mini-computer, a Digital Equipment PDP-8e. We also had some sort of tie-line with a teletype to a local college, but I spent all my time on the PDP-8. I don't recall if computer class was an elective or required for everyone, but I vividly recall the class itself — better than I recall much else from that far back.
One thing I recall was that I wasn't particularly excited about the computer back then. While the Apple II came out that year, we didn't have access to it. We had a mini-computer and it was anything but friendly. It had blinking lights, a front panel where you would toggle in boot code, and you saved your programs on paper tape.
One other thing I recall was my teacher. His name was Ron Mezzadri, although we called him "Mezz." I remember his method for explaining how computers were very literal beasts. He had some of us stand in the back of the room and told us to walk forward. When we avoided all the desks, he told us we weren't thinking like a computer.
Then he had one of us give him instructions. When he was in the back of the room and was told to walk forward, he bashed into the desk and stopped. It took us most of the class session to discover we needed to very carefully guide him, step-by-step, turn-by-turn, all the way across the room.
He taught us not just how to program in BASIC, but the basics of assembly language. Since the PDP-8 needed a boot loader to be toggled in to boot up, he taught us what that meant, what binary code was, and showed us how to quickly toggle in the boot loader to start the PDP-8.
Later, when I went off to college, I was in school near Maynard, Massachusetts, where Digital Equipment Corporation was located. They made the PDP-8. At some point during my time there, I somehow (that memory is lost to time) got my hands on a raw front panel for a PDP-8 (the holes where the lights and switches would go were never cut).
I'm bringing this up because my wife talked me into helping her clean the garage this weekend, and I found that front panel among the items stored on our shelves. I'm going to need to dust that thing off and hang it somewhere. It's pretty special.
In any case, back to programming in high school. My teacher told us about a weekend program at the New Jersey Institute of Technology. It was a first-year college programming course in Fortran, but it was being offered to select New Jersey high school students. I applied and was accepted.
The "gotcha," at age 15 or so, was I didn't have a car and Newark was a 45-minute car ride down the Garden State Parkway. My dad was a hero. He drove me down there, on Saturday mornings, and came back four hours later to pick me up. That man had to spend three hours in the car every Saturday for sixteen or eighteen weeks, just so I could take Fortran.
For whatever reason, I was a natural. I "grokked" programming. I just got it. But, to this day, I couldn't tell you if I just "got it" because of some twisted spark inside of me, or because of how Mezz taught the class and triggered something, a something that has since been a big part of my career for all these years.
I wound up leaving high school a year early. By the end of my junior year, I'd used up all the school's science and math courses, and having taken (and aced, thank you very much!) a for-credit college Fortran course already, it seemed to make sense to skip my senior year.
That took some serious 'splaining, the day I decided this was what I wanted, and then had to convince my parents. But they eventually gave in, I applied to engineering school, and I got in — the youngest student in the college.
With the fog of time, I couldn't tell you whether I went to college early because of my programming classes, but they certainly contributed to the idea. After all, having finished my first college class at age 15, it seemed like something I could do.
The odd thing is that once I was in engineering school, I tried my darndest to major in something other than computer science. I believed that computers were a tool you used with other sciences, but I didn't just want to use them alone.
I started as a nuclear engineering major, switched to mechanical engineering, and for my first two years, tried the basic engineering courses for almost all the majors. They did not come naturally. They were a struggle.
Meanwhile, by the time I hit my junior year in college, I was taking the graduate school courses in microprocessor design and computer graphics. I'd used up all of the undergraduate computer science curriculum and by senior year, I was actually co-teaching the graduate microprocessor design course.
Also, by junior year, I still wasn't a computer science major and I was still trying to figure out what I was going to study in college. Eventually, my academic advisor broke it to me as gently as he could: I might not have declared as "computer science," but since I'd completed the computer science curriculum (and pretty much nothing else), I was, by default, a computer science major, whether that was my plan or not.
This week, ZDNet's Charlie Osborne and Matt Baxter-Reynolds are debating Should kids be taught to program?
I can't tell you whether all kids should be taught to program rather than, say, as Matt put it, "how to read mass spectrograph output...or how to calculate stresses on a suspension bridge."
But I can almost definitively tell you this: if my public high school didn't have a teacher like Mezz and hadn't introduced me to programming while I was still a kid (and this was the seventies, remember), I probably would never have had the incredibly exciting and gratifying career in computer technology that I've been so fortunate to experience.
Oh, and I still code. I also teach programming. Using Mezz as a role model, I teach object-oriented programming at the University of California, Berkeley extension. One of my most fervent hopes is that I'll inspire one of my students (who are mostly adults looking to improve or change careers) the way my teacher inspired me all those long years ago.
So, should kids be taught to program? Given that computers are far more accessible than mass spectrographs or suspension bridges, and given that there's a much larger world of opportunities for making money today both inside and outside the corporate world (can you spell app store? Sure, I knew you could) I have to answer with a resounding, "Hell yeah!"
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.
Talkback
My first love...
Got my mom to buy it for me when I saw it advertised in the pages of Discover Magazine. Thus was born my love of computers. A few years later I got an Atari 800 (because the Coleco ADAM I really wanted was sold out). After the Atari I got one of the first Amiga 1000s.
Man, those were the days... staying up late into the night copying programs out of Antic and Analog magazines, writing my own little games. I disassembled a joystick and created a "burglar alarm" with it. When you opened the door to my room the computer would yell "INTRUDER ALERT!!!" (thank you S.A.M, the Software Automated Mouth program that gave my Atari true speech synthesis.) The Atari also had a potentometer built in (it's how the paddle controllers worked) and I disassembled one of those, and taped it to my chest and graphed my skin's changing electrical resistance (a sine wave, for some reason).
Ah, those were the days! It was all such an exciting frontier opening up before my eyes, and the world seemed so vast and its possibilities endless to a geeky 16 year old!!!
Still miss lots of aspects of the Amiga.
I remember being impressed beyond words when the Amiga came out. Computer after computer tried to get the spinning Amiga ball to actually look fluid for years to come. I learned graphics and GUI programming on the Amiga.
Great days.
That little Sinclair was a jewel!
Well,
Should kids learn programming. Only if it is voluntary. I believe it would be a waste and bore for some kids. I do think all kids should be required to have logic (theory) and learn at least the 15 falacies of the world. ;)
Ah, memories
Sadly, I didn't do much programming outside of that and some classes in college.
As for time-travel, I'd wager the crew of the Planet Express has Young Goodman McFly beaten by more than a millennium on that record. ;)
I am a fellow punch carder
I had a Trash 80 at the time, so the one segment of our course when we got to use Basic on a Commodore PET was like heaven on Earth. You could actually run your program as a way to make sure it worked. Imagine, you younguns - debugging as a rare privilege!
Kids should try programming in their early teens
Over my career I've seen dozens of people wasting their time either studying programming or even working in it without the gift. A terrible waste of time, time better spent doing something else.
Those that get it won't require much teaching. They'll jump into it voluntarily.
Re: Forget studying it, you either have "the gift" or not.
Computer At High School? Luxury!
Basically, computing was all I ever wanted to do.
In the same boat
You may think I would be perfect for a STEM degree, but that was only part of the story: I went to college in fall of 1979 and quit and joined the Navy in November 1980 and had a nice career. The problem is not everybody wants STEM degree or go to college . I never returned back to any education institution since then I see college as a solution looking for a problem in my life. Still I managed to be a self taught C, C++, C#, VB Python, PHP, programer.