I was a teenage programmer before teenage programmers were cool

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.

SHARE:
TOPICS: Education
10

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!"

Topic: Education

About

David Gewirtz, Distinguished Lecturer at CBS Interactive, is an author, U.S. policy advisor, and computer scientist. He is featured in the History Channel special The President's Book of Secrets and is a member of the National Press Club.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

10 comments
Log in or register to join the discussion
  • My first love...

    My first love was a Sinclair ZX81... 1 Kb of RAM, baby!!!

    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!!!
    dsf3g
    • Still miss lots of aspects of the Amiga.

      Small, fast and light OS. Got started on a Wang System 2200. It was a Z80 based system that came in two parts and a soft key for 80% of the BASIC language. Push a button and get a "print", "input" or "assign" keyword.

      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.
      Bruizer
    • That little Sinclair was a jewel!

      Doing Basic programming on it was actually very "elegant". Have you tried the "Basic!" app on an iPhone or iPad? It's a fun one, and may be just enough to inspire some young person to become a programmer. But it can't beat the Sinclair, where the Basic keywords were right on the keys!
      Userama
  • Well,

    I am prolly around the same age although my early life was mostly military. But after I departed the military I did get involved in computers. I played with the Commodore (punching in numbers from a magazine to create simple graphical games -- but no way to save them... lol). That led me to the Tandy 1000 on sale at Radio Shack. What inspired me to learn programming in 'C' was my college philosphy teacher who taught a logic class. We had to re-write the complete 15 falacies of the world (in his opinion). I heard fearful stories about taking logic and how mathematically is was too challenging for some... but my class was about theory, not math. It was great and it opened my eyes to alot of things, including the simple "if" {} statement. So I went out and visited the library often. I learned to program 'C' self taught. We didn't have Internet browser or any google back then. We only had the newsgroups to communicate through local BBS's. I graduated in college with accounting and did some 'C' programming on the side.

    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. ;)
    SpankyFrost
  • Ah, memories

    I remember having books with stories that would include programs relevant to the plot, and other books that would have relatively simple-ish math problems for the CPU to solve, asking if you, the reader, could answer before the computer did.

    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. ;)
    Third of Five
  • I am a fellow punch carder

    I remember thinking the big punch card machine was so big and powerful - they sent off our cards to a mall nearby where there was a big mainframe that ran Fortran for us. I liked the hum this big machine made.

    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!
    Mac_PC_FenceSitter
  • Kids should try programming in their early teens

    Forget studying it, you either have "the gift" or not.

    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.
    Richard Flude
    • Re: Forget studying it, you either have "the gift" or not.

      Having the "gift" (or "talent" or "inclination" or what you want to call it) is what drives you to study everything you can about a subject, and above all, to practise, practise, practise. That applies to programming as to music or mathematics or dancing or drawing or anything else. Was it Malcolm Gladwell who said it takes 10,000 hours to become good at something?
      ldo17
  • Computer At High School? Luxury!

    I'm probably of a similar age to you, only I grew up in a poor(er) South-East Asian country, where these new-fangled "microcomputers" were still unheard of at the time, and DEC PDP machines were not exactly littering the undergrowth. I learned about programming from what books I could find at places like the British Council and Lincoln Cultural Centre libraries. I gobbled it all up, but had no access to a real computer until I got to University, where I promptly aced all the programming courses.

    Basically, computing was all I ever wanted to do.
    ldo17
  • In the same boat

    My "first" computer was playing with the mainframe calling in with 300 baud acoustic couplers on terminals we the computer club had made in 1978. I would spend my lunch hour at the terminals and was the guy that love computers more than girls in High school. I also cut my teeth on programming on an Apple II, I knew ever hook in Bios.

    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.
    Richardbz