The ad on the bulletin board was a typical ad for positions at this time, something like:
“The Department of Electrical Engineering is looking for lab assistants for the course COMP/ELEC 320, Introduction to Computer Architecture. Candidates should have a thorough knowledge of the material. They will be helping students, and grading homework and computer labs. Please call this number and leave a message if you are interested.”
So I did, and once again, they called me back with the meeting to parcel out the work with other labbies.
I got the job. Hurray!
That is how I got a job as a labbie for a course I made a D- in.
Oh, yes, there’s a story, all right. I’ll try to keep it short… (yeah, right). This is the story of
The Worst Course Ever Taught in the History of Academics
or, at least at Rice.
To start, it’s useful to understand a couple of things.
- This course was a shared course between Electrical Engineering and Computer Science.
- The Computer Science Department was less than one year old.
- When I took the course, EE was responsible for it.
There were a lot of computer science majors in the 80s, and somewhere around 150 of us signed up for this course.
The instructor, let’s call him Mr. Big, was not from the United States, and expressed in class that American students were too coddled. He lectured from his own notes. There was no book. There were no copies of the notes available. He assured us that the computer programming part of the course would be somewhere around 65% of the grade, with written homework, the midterm, and the final making up the rest.
He then proceeded to lecture on the written part of the course. The theory behind how computers are built and work. How assembly language works. How programs are loaded and executed.
Meanwhile, we had three big labs that were going to be assigned for that 65% of the grade, just as soon as the minicomputer that was assigned to the class was up and running. Nobody had PCs; this was normal.
What was not normal is that the Computer Science department had all of the good machines; the EE Department was stuck with a 10 year old PDP 11-44 (named phobos, which is the Greek God of Fear). One of my friends was the systems administrator for the course. He spent every waking hour trying to get this beast to boot, much less work.
It dragged on and on. We had maybe two homework assignments, and then the midterm hit. We had three hours to do it, but there were coding assignments on the test that had to be completed by hand, and there was much more than 3 hours of work. Plus, this was the first place we had done any assembly language at all. Nothing in the homework. And no machine. The grades were a disaster, and at least half of the class dropped the course after that.
The machine still wasn’t ready at the drop deadline. I was already dropping a course, and dropping this one would have put me below 12 hours, which would have caused major problems. I chose the wrong course to drop.
The machine was finally ready to go two weeks after drop deadline, which meant we had four weeks to do 3 major computer projects. The first lab took maybe 45 minutes to do, so that was no problem. It was the second lab that was a dumpster fire.
The terminal room for this computer had 8-10 terminals, but only six worked. The printer only worked sporadically. And the lab was instantly full.
The CS department in other courses had terminal sign-up sheets. You signed up in 3 hour blocks; you could only sign up for six hours/day and 15 hours/week, or something like that. The EE department did not do that. So we created some, signed ourselves up, and left them out. I signed up for time after a big test in another class, eight days later.
Eight days later, I showed up, and somebody had thrown away our original sign-up sheets, and printed their own, and those did not have our (me and my two best friends) names on them. This particular project was due the day before Thanksgiving, and the slots were full until the deadline of when the projects were due.
The only thing we could do is try to fix the broken terminals, and wait for people to leave and vulture the remaining time on their slots. I did this all weekend before Thanksgiving, and got 2-3 hours of time on the computer. Of course, the lab was ridiculously difficult, and there was no help in the lecture notes. The poor labbies had to give us the methodology on how to do it verbally when they were there.
For the technically minded, the gist was: The terminals each had a box with an embedded 68000 processor attached to the computer with a serial cable. It also had a spinning plastic disk with two colors, a motor, and an optical sensor. You had to write a program which would track the interrupts generated by the optical sensor as the little plastic disk spun, as well as the keyboard of the terminal. You had to cue up the events, and do something intelligent with them. He had not talked about interrupts or event-handling in class, so I was lost.
The deadline came, and I was nowhere near done. The night before, my buddies and I staked out all night in the Abercrombie Engineering Building, and we did this while we waited:
The undergraduate circuit lab was near the terminal room, and we discovered 48 stools. We start messing around. The bottom stool that holds the whole thing up was upside down, and then we symmetrically added stools two at a time. We had three left at the end, we each carefully and simultaneously added them. When we got done, you could rotate the entire thing, although you would run up against the benches. Still, the caretaker for the lab took a picture, and put it on the inside cover of the very first Rice Engineer magazine.
Anyway, I worked through Thanksgiving weekend and got the lab almost working, and then accidentally removed all of my source code from the computer. No printouts (no printer). No backups (no network, floppy disks, paper tape, much less USB sticks). I had to do the work again. When school opened again on Monday, I went to Mr. Big’s office, explained what had happened, and he said it was cool, just turn it in. I turned it in another week later, and turned in an incomplete 3rd lab the last day of classes.
When I got the big 2nd lab back, I had 3 points taken off for various little nitpicky things, but 65 points taken off for being late, 5 points/day. I went back to Mr. Big, and he would not change the grade.
So I got a D- in the course.
Turns out, a LOT of people made D- or F in that course. On the last day of the course, there were student evaluations. The room was crammed with almost everybody who had originally signed up for it, furiously scribbling in anger.
The next fall, The Rice Thresher published results of student evaluations. With 150+ people responding, on a scale from 1-5, where 1 is the best, and 5 the worse, the course scored a 4.8 for “Overall Course Effectiveness”. I am still bewildered than anybody gave it a score other than “5”.
I learned the material, though, so I did not have any trouble trying to labbie the thoroughly-overhauled-by-the-totally-embarrased-Computer-Science-department’s version of the course a year later.
I retook the course later, and made a B+, and I know why I did not get an A, and it was OK. Having that B+ instead of a D- in my major GPA was a big reason I actually graduated.
As for Mr. Big, he taught one more course at Rice. He required a $60+ book, which he cowrote, and then only used one chapter out of. It was still a really bad course. He left Rice, and went to work for a well-known, giant Silicon Valley company, and I haven’t heard anything about him since.
Coming up: Much shorter stories about interviews and the like. I promise.