an interview with professor adams

7:50 AM on Monday, December 21st, 2020 (Pasadena, CA)


This past Thursday, I had the opportunity to interview Professor George Adams, who I got to learn from this past semester in CS 250, which is an introductory course in computer architecture at Purdue. After getting his BS in Electrical Engineering from Virginia Tech, Professor Adams came to Purdue to complete his masters and PhD. Before returning to Purdue to teach, Professor Adams worked at NASA Ames Research Center and was a visiting professor at Stanford. Needless to say, he has had many interesting experiences with multiple facets of technology, so I wanted to ask him some questions to celebrate the end of the semester. Below are a selection of questions and answers from our discussion:

‘F’ refers to my dialogue, while ‘GBA’ refers to Professor Adams.

 F: What is the process like when you make assignments?

GBA: Crafting assignments is about thinking about what your learning objectives are for the class, and what it is that a student should be developing in terms of understanding; maybe a skill or set of skills. So there’s a variety of things that might be your goals. And then you want to figure out, “How can I give the student an experience of that kind of skill development?”; the process you go through to become skilled in that development, or “How do I give them a chance to work with the material in a way that builds understanding?”. That’s certainly difficult, and it’s easier to say, “Here are some things to memorize”, or “Here are some terms to know the definition of”, for example, but instead I try to construct some form of coursework that has you really think about the material, perhaps from a different perspective than is gone over in a lecture. This way students get more involved with the material, in a way that has them sort of form their own concept of what is going on. That’s different for some students; there are certainly teaching modes, for example, where there is a series of “Here is the nature of the work, here is the problem, here is the answer”, and it is more about memorizing a technique for achieving the answer. Coming together with all of these goals and figuring out coursework is a challenge. I personally spend a lot of time on that. For all of the assignments for CS 250, I worked through them personally. I asked the TAs for their input, but I am certainly heavily involved in the drafting, editing, and final polishing of the assignments. Partly because this course is a little different than the other courses in a CS curriculum, and so it is often the case that the undergraduate students don’t have experience with hardware before they reach this course, or don’t have experience with assembly language programming. It’s about making things in a way that will reach the student, so that they don’t go “Wow, I hit a brick wall; the learning curve got too steep to even answer the question”. We try to avoid that but also do it in a way that the students don’t get stuck too often. In today’s environment, getting stuck is much more of a big deal, because it’s more overhead to ask a question that gets you unstuck. My hope was, since we were offering something on the order of 50 office hours a week Monday through Friday that students could get unstuck without having to wait too long before somebody was on WebEx who could probably answer their question. That was my hope.

F: In your time at Purdue, what interesting historical facts have you come across? In class we talked about how the Germanium crystal for the first transistor was made in the physics building; are there any other things like that you’ve found interesting?

GBA: There are a lot of interesting developments I know about over in Electrical Engineering at Purdue; the early work on television for example. A faculty member at Purdue patented a lot of early key developments that were necessary for creating television. A faculty member developed a fundamental idea of modulating radio signals that was used in early cell phones. And also is currently used in radar systems where you want to get very accurate ranging of how far away something is. So you modulate the signal on/off pseudorandomly, and the signal processing lets you get a much more accurate estimate of the range than you could with a simpler modulation scheme. There’s been a lot of work in coding over in EE that historically led to real advancements and capabilities.
     Purdue was the first place to write an operating system that could make use of a multicore computer. That was done in the EE department, while I was there as a grad student. There’s a tech report written by Mike Marsh and George Goble, two staff members in ECE. They realized that the Unix operating system from Bell Labs, since you had the source code, could be modified, and we had a VAX-11/780 computer in the department, and they realized that the memory bandwidth in the machine was triple what the processor could absorb even if it was running full blast. There was still leftover memory bandwidth. So they looked at the operating system and it already does some weird things, like they patched the operating system while the machine was running. . . yeah. They live went in there and edited memory locations on a running program. And it didn’t crash, and when they were done it had a new capability. So they really understood the internals of the Unix operating system, and they realized they could write it to schedule multiple processors in a reasonable way, so they bought a spare processor board and plugged it into the box, and then launched Unix on it with the multiprocessor coding they had done. And the puppy just ran. When you said “Hey, run a new process”, it just worked. And suddenly the machine had twice the throughput. The machine cost half a million, and the processor replacement card cost $25,000. So for an extra 5%, you could plug in a second head, and the machine started doing twice the work. Wow. It took DEC a while to figure out what was going on, but they did actually, because we kept buying VAXs, because the department head was like “We need more computing power”.

     So you should, at some point, when it’s safe to go on campus, go over to the EE building and find the stairwell where they have the posters for the history of the early days of the computing endeavor. 1976 through about 1983 or 1984, they got a poster a year and you can watch the thing grow exponentially. Once they realized they could double head these VAXs, every semester the department was shelling out, “Buy another one, buy another one”. It’s the only thing that kept us going, because the demand for computing power was exploding. They bought one machine, called Skydiver. They were looking for bargains. So they found a VAX that literally fell off the back of the truck when they were trying to deliver it to the customer. It fell about 4 feet off the back of the loading ramp on the truck onto the parking lot, and it bent the whole frame of the computer. And so the customer rejected it, and so DEC had this warped thing, and we said we’ll take it. And I think they picked it up for like 20 grand. And they took all the boards out of it, some were cracked because the thing took hard mechanical forces, and literally pounded it back square enough with sledge hammers. And then they brought it in and put it in a machine room and they repopulated it and it worked. So they had another double headed machine, for something like $100,000 total. Really cheap. When I got here, they had the EA and EB machines in the department, and nobody else had department level computers at that point around campus. Just central computing. And then there was EC, and ED and EE, EF, EH. By the time I left they were up to J I think. And I finished up and went on to working at NASA.

F: What’s one book you could read over and over and never tire of? What about it makes it stick out in your mind?

GBA: Hmmm. Yeah there are a lot of books that have reached that level of quality, where you read them and you’re like “This is worth reading again”. And they cover all kinds of different topic areas in my mind too. That’s a really tough one to narrow down to a single book. So I’m not sure if I want to try. I could name some books that I really enjoy in computing, but I read history, science fiction, science. . . I try to read increasingly broadly. A truly great book, that merits rereading is, for me, one that has some kind of message. Information that is fundamental and valuable, and the language is managed really quite nicely. So, The Soul of a New Machine, a Pulitzer prize winner, about developing a new processor architecture back in the days of the DEC VAX, in the mid 80s is great. That one is a great human story, it’s an engineering story, a computing story. That’s a great book that has that re-readable quality. There are great textbooks, the Hennessy and Patterson textbooks on computer architecture and computer organization are actually readable and re-readable as textbooks. Usually you realize “Oh, there’s another thing I can get out of this that I didn’t quite see here” the first, second, third, or fourth times reading through.

F: What was your biggest, blunder, mistake, or mishap? Why does it stick in your mind, and how did you fix it, or possibly get over it? Looking back now, was it as bad as it seemed then?

GBA: Hmmm, biggest blunder. . . yikes. Yeah I don’t know, it’s tough. I’ve certainly made lots of them. . . I actually am not very good at remembering bad stuff actually, is what I guess I say. Because people ask, “So when did something bad happen?” and I’m like I don’t even know. I can’t give you the date, maybe not even give you the year. I’m pretty future-oriented; always have been. I think that’s why science fiction has always appealed to me, once I discovered it in the fourth grade. I like thinking about what’s next, the future, alternatives. . . You know, there have been setbacks along the way. And there is always the challenge that you can only take one path at a time. When I was getting ready to go look for my first full time job, finishing up my PhD, I had a couple of really good offers, and you can’t take them all since you can’t be in two places at once. There’s one where, had I picked it, maybe I could’ve climbed the corporate ladder, and had perks that come with climbing corporate ladders. Versus going and being a contractor at NASA Ames Research Center, where there’s no real ladder to climb, but there is the opportunity to do interesting work that is more open to you defining it. That’s sort of what brought me back to academia; the ability to try to define your own work, and what it is you’re going to do in your time. And you get to spend time with a lot of interesting people. Campus is an environment that is full of people who are very interesting to be around. So that’s sort of what’s kept me in it. I think I’ll say that that was a good decision. Does that lead to the most perks in life? Hmmm probably not.

F: What is an event in your life that you look back on and makes you wonder how it ever happened? It can be a miraculous breakthrough on a project you thought you would never finish, witnessing a quadruple rainbow on a flight, or even just a circumstance you are grateful for and in awe of.

GBA: It was kind of interesting to be able to be a little bit connected to the Voyager nonstop non-refueled around the world flight. So that happened while I was working out in California at NASA. They were based down in Mojave California, down in Southern California, so I had the opportunity to contribute money to the project, which I did do, a little bit of money, a hundred bucks. It helped them to build it and to fuel it. I went down to the hangar where they were building it, and fueling it, before it was done, and they gave tours, so I got to see it and talk to some of the people who were involved. Then, when they actually did the around the world flight, they took off from Edwards Airforce Base, near Mojave in Southern California, and returned to land there to complete the around the world flight. I got a pass to go down there and be there at Edwards when they came back, and because I had a pilot's license from when I was a grad student at Purdue, I sort of knew the ins and outs of how the whole mission would work. I had a radio so that I could listen in to the aviation frequencies and hear them talking to the tower at Edwards when they were coming back in, and be there for that experience, on a very chilly December crack-of-dawn type of morning, with a few snowflakes actually sprinkling down there in the high desert of Southern California. That was pretty cool and not something readily doable. Being part of the aviation community made that happen. So that was fun.