Personal Reflections on Becoming a Computer Scientist
by Arthur Fleck
As an undergraduate at Western Michigan University, I was a Math major, and I did take one course in computer programming (on the IBM 650). While I enjoyed the programming course, it was the only course offered on the topic, and at the time I did not envision this as a major career element for me. I relate here some recollections of things that molded my development as a computer scientist.
I was probably almost a senior at Western before I gave a thought to graduate school. But sometime before graduation from Western (January 1959) I applied to grad school at the University of Michigan and Michigan State. My application for grad admission in Math was accepted at both schools. However, I had also applied for an assistantship at both departments, and neither department made me an offer. Because an advising glitch had overlooked a required course, I had to stay an extra semester at Western to complete this course and graduate. This put me in the middle of an academic year and assistantships in the academic departments were all filled for the year in the fall. U of M was the more prestigious institution, so under "normal" circumstances it would seem to be the natural first choice. But at least some little financial security seemed necessary to move to unknown surroundings, especially since we had already started a family. On someone's advice -- I'm not sure, but I guess it was Jim Powell (the Chair of Western's Math department at that time, and someone I'd taken numerous courses from) who's father was a Math Prof at MSU -- I was put in contact with Gerry Weeg's group in the Computer Lab at Michigan State and they were able to offer me a Research Assistantship in mid-year. That was an indisputable determining factor for me to go to MSU, and the fact that I received a Research Assistantship in the Computer Lab rather than a Teaching Assistantship in a Math department altered my life path completely. Another large life-altering factor was that I not only ended up working on computers, but under Gerry's supervision. I'll say more about that later.
So while the extra semester I had to do at Western looked at the time like a rotten turn of events, and it did close off some potential opportunities to me, it effectively redirected my plans in a way that appears to have been best suited to my natural inclinations, and was ultimately very beneficial to me. I might have developed my interest in computers anyway, but it would had to have come later (if at all) if I had joined a Math department as a teaching assistant. Back in those days, the only computers around were located in a separate lab with their own staff. So really getting that early start in computing was a direct result of the mid-year assistantship offer from the MSU Computer Lab.
So in late January of 1959 we moved to East Lansing. Michigan State was on a quarter system at this time (four 10-week sessions, including summer). So during the regular academic year there were three 10-week sessions instead of two 15-week semesters. This was a very nice calendar since the fall quarter ended at Christmas break, and the second (winter) and third (spring) quarters were separated by spring break. Anyway, this meant that when we arrived it was already into the early part of their (second) winter quarter and I had to wait to start classes until the third quarter. This gave me a chance to spend time in the computer lab where I was working and to become familiar with it before I started classes.
I was assigned to a six-desk office in the Computer Center. Initially our office was on the fifth floor, but a little later it was moved to the sixth floor. My office mates all also held RAs in the Computer Lab. They initially were Bob Brown, Bruce Barnes, Dick Arnold, and Hal Bryant (yes, only five of us). Hal Bryant was in medicine somehow and left quite soon after I arrived. Dick Arnold was doing some advanced research in automated program construction and also left fairly soon after I arrived. Fairly soon after this another RA, John Barth was added -- I'm not sure what Barth's academic area was. Then somewhat later (maybe a year) John McClosky joined us. John McClosky was in Statistics and when he finished his degree went to the University of Cincinnati. But the two office mates I got to know well were Bob Brown and Bruce Barnes.
This room of RAs was the primary programming staff of the Computer Lab. The computer at that time was called MISTIC for Michigan State Integral Computer (photo, history). This was a machine constructed at MSU by local staff. This took a year or so for a team of individuals led by Lawrence Von Tersch and was completed in 1956. Computers were commonly given names rather than model numbers back in those days, since they were usually one of a kind, not an instance of multiple reproductions. This was not quite true of MISTIC as it was a copy of a machine called "ILLIAC I" that was built several years earlier at the University of Illinois. Actually, there were two other copies as well, SYLLIAC at the University of Sydney, and CYCLONE at Iowa State University. This machine was quite fast for its time, under 100 microseconds for an add operation (fixed point -- there was no floating point). It had a vacuum tube memory of 1024 (1K) 40-bit words! And it was a computer serving the entire MSU campus!
There were a number of people around campus who wrote their own programs, but system routines (e.g., input-output) and general library routines (e.g., square root) were our responsibility. These would usually be used by lots of people, and you didn't want to burden everyone to recreate these things individually. Of course, everyone had to come from all over campus to do their computing, but there was no objection to this. Computing capacity was a very scarce commodity, and those who needed it were grateful to have a machine available. There were limited numbers of commercial machines available and they were very expensive. It was not common for a university to have one -- Western Michigan University had not had a computer, and Michigan State didn't either until MISTIC was constructed.
I initially learned MISTIC programming via a few small utility program assignments. I eventually got two larger programming assignments for MISTIC. The initial configuration of MISTIC used (five channel) paper tape input, and teletype or paper tape output. The teletype machines (model 33 ASR) were very slow. They could be connected to MISTIC, but rarely were because they were so slow. Instead, you use one to prepare a paper tape and supply that to MISTIC, or for output, punch a paper tape from MISTIC and carry that out to a teletype to print. So anyway, it was decided to interface an IBM card reader-punch to MISTIC. This required both new hardware and new software. I got assigned the job of writing the input-output programs for this new device for MISTIC. My second large assignment was connected with another hardware upgrade to MISTIC. A few years after MISTIC was constructed, the technology for larger computer memory based on small magnetic "cores" strung on wires was developed. Larger memories (i.e., 16K words instead of the original 1K) were built at MSU. This was tedious handwork, requiring three wires to be hand threaded through each of these very tiny and extremely numerous cores, and was done by completely non-technical personnel. I was assigned to write software to test these new memory modules and identify faults.
I finished my Master's degree in June of 1960. This was MSU's 100th graduation, and the program (I still have) shows that Harry S. Truman (33rd President. preceding the president at the time, Dwight Eisenhower) spoke at the ceremony. This took me just four quarters, so good progress. I didn't do any job hunting and don't remember any serious consideration of alternatives to continuing for the PhD.
As I began my PhD, I had no idea how one was "supposed" to become involved in research. One of the things about the assistantship in the Computer Lab was that we were given various computer support assignments that had to be completed. But these occurred irregularly and once finished, we might have quite a while that we would be left to our own devices. Gerry ran an informal (i.e., not a class we registered for) seminar on current research topics in automata theory for the RA group in our office. We read and discussed newly published papers.
Anyway, the way I started was to bring a suggestion to Gerry for something to work on. As I was to find out later when I became a faculty member, this is the opposite of the way it usually works. Anyway, my proposal arose while I was taking a topology class. Topologists study, among other things, transformations on space (e.g., stretching, twisting, tearing) and how they effect geometrical objects (e.g., what properties are preserved/destroyed). My idea was to identify various interesting transformations on automata and study the properties they have. Gerry gave the go-ahead, so that's how I started. Later as a faculty member, I found one usually begins by seeing what generally similar things others have done on the problem one is considering. In this case, there was no previous work in this direction for automata. So I initially relied on the ideas I had been exposed to in topology. It turned out that there was a reasonable way to define "continuous" transformations (an idea from topology) for automata, and I started getting some results that I would bring in and talk to Gerry about from time to time. He seemed quite pleased about this so I was spurred on. This led me to look at some algebraically oriented transformations, and I began getting even more results.
Gerry seemed even more excited by the algebraic line of development. To my surprise, as time went on, when I came in to talk to him about my results, I found he was telling me about results on these same topics that he had started getting! I wasn't sure what to make of this as I had thought of this as my idea and problem area. As I indicated above, Gerry was very interested in automata research, but his previous publications I was aware of were in numerical analysis. His major writing activity that I recall during this time was a book in numerical analysis. His co-author was Georgia Reed at Colorado State, and they traveled back and forth, and this was a dominant project for him.
It turned out that my ideas and the efforts that resulted from them re-directed Gerry's research career into this new area. In fact, it made such a change that two of his other PhD students, Bruce Barnes and Bob Brown, both took up work in this area. Bruce did his thesis under Gerry on related topics and also ended up publishing in this area. And while Bob never got his thesis finished, he also worked in this area and did publish a JACM paper on this topic. Later when I became a faculty member, I found that this is not the normal advisor/advisee relationship. In the course of writing these memoirs, I had occasion to visit the Mathematics Genealogy Project Web site , and Gerry is listed (Gerard Weeg, I am now too). The idea for this site is that one's PhD advisor (or advisors in a few cases) is the "parent", his/her advisor the "grandparent", etc. I don't recall being aware before, but I saw there that Gerry's thesis was in algebra -- this improves my understanding of why my work attracted so much interest from him. Also, in this database I was able to track my mathematical forebears back as far as Otto Mencke who received his PhD in 1665 from the University of Leipzig. Along the way my ancestors included world famous mathematicians Carl Friederich Gauss, Karl Theodor Wilhelm Weierstrass, Ferdinand Georg Frobenius, Friedrich Wilhelm Bessel, and Richard Dagobert Brauer.
While I did find all the "piling on" to my ideas and topics a bit disconcerting, the extremely high regard Gerry always had for me and my technical ideas was far more than balancing compensation. And the clustering of work by our group did generate national recognition. I recall one conference that Gerry, Bruce and I all attended. We were going into the reception together, and as we walked up to another group engaged in conversation, one of their members, Michael Arbib, a very distinguished and highly regarded theoretical computer scientist, remarked: "here comes the group of automorphisms". This was an inside joke, as "automorphisms" were the breakthrough kind of transformation I introduced and that we all published about, and many of our results were about their algebraic properties, chief among them is that they form a group (a technical algebraic term). So we came to be recognized at a glance by some of the elite of computer science. And not as a joke either -- in fact a few years later, Arbib even published a paper about automorphisms himself.
During this period, I was actively pursuing research in automata theory. I wrote a couple of technical reports (MSU Computer Lab), and was also working on a journal article. As I indicated above, Gerry was also working in this same area. Of course, he knew the publishing game while I was a novice. Although I presented some of my results at a meeting of the American Mathematical Society in 1961, Gerry turned out to be the first to get this topic area into publication in the July 1962 issue of the Journal of the Association for Computing Machinery (a premier source in which to publish theoretical computing research). He did give me originating credit by citing my earlier MSU technical report in his paper. My first journal publication followed in the very next issue (October of 1962) of this journal. Considering refereeing and publication delays in this process, these two papers were virtually simultaneous, but I lost the race.
Somewhere in the 1960-62 period, MSU purchased commercial computers to replace MISTIC. Machines available on the market were faster and much larger. MSU settled on Control Data Corporation (CDC) for the machines of choice -- these were transistorized computers. The first machine acquired was a model 160-A -- a small (by the standard of the day) computer oriented to input-output processing (reading cards, printing, etc.) rather than serving as the central computing device. Sometime in 1962, the much more powerful model 3600 that was to replace MISTIC arrived. These machines were designed by Seymour Cray of CDC who became quite famous as a computer architect, and who later founded his own supercomputer company. These acquisitions led to two other large programming assignments for me. The first of these was a "segue program" -- a program to smooth the replacement of MISTIC by CDC machines. Of course, they were different computers, and MISTIC programs would not run on the CDC equipment. MISTIC users wanted to be able to continue to run their (machine language) programs after MISTIC was decommissioned. So I wrote a "simulator" for the MISTIC that ran on the 3600 -- this was a large CDC 3600 program that given a MISTIC program would cause the steps of the MISTIC computer to be realized by the 3600. In fact, it was used only very lightly, as most programs were soon rewritten for the new computers. But it was of political value to dispel objections to replacing MISTIC by the new computers and making it impossible to run old MISTIC programs. This was a highly interesting project from a technical point of view. The 3600 had no paper tape reader/punch (MISTIC's primary I/O), but it did have direct channel communication available to the 160-A and that machine did provide a paper tape reader/punch so both machines were used in the simulation. The other major program I was involved with was an interrupt-driven, multi-programmed input-output server for the mainframe (CDC 3600) that ran on the small (i.e., desk sized) 160-A. This was my biggest programming project ever -- a three or four man effort. The programming was headed by me and involved two others full-time and another part-time. We must have worked on it for four to six months. It prepared magnetic tapes for the mainframe from cards or paper tape, accepted magnetic tape output from the mainframe destined for the printer, card punch, or plotter, processed operator commands from a keyboard/typewriter, and produced accounting information on paper tape. It ran all these devices at full rated speed simultaneously -- the speeds then were card reader: 1000 cpm, and printer: 1000 lpm.
The year I was to defend my thesis and graduate (1963-64), it tuned out that Gerry was taking a sabbatical and left for the year. He would spend that year at Iowa State as it turned out, and I would be left to finish without his immediate supervision. I was fine as far as doing the research work, but at this point I was concerned about the administrative details. My thesis was turned in, I'm not exactly sure when, but quite early, I believe before Gerry left. However, one of my committee members was apparently reluctant because my topic was not a traditional area of mathematics -- there were few mathematicians pursuing automata theory. This turned out to be (I found out later) John Hocking, a topologist. I had had a topology course from him, and in fact this was ironically what led me to the line of research I initiated. But Hocking dragged his feet and definitely stalled going ahead with my defense for quite a while. Some of the thesis work had a topological spin to it, and while these results had significance from the automata theory point of view, they were not deep topologically. But the more substantive part of the thesis was algebraic, and if I say so myself, really good. As I understand it, Hocking eventually agreed to accept the advice of an outside expert, a friend he knew from the University of Michigan (where they both had done their PhDs), Seymour Ginsburg, who had been doing pioneering work in automata theory (but not automorphisms). Fortunately, as I later heard, Ginsburg was quite complimentary, and apparently Hocking subsequently relented. However, Gerry's absence was a handicap in these goings on. Gerry returned to campus for my thesis defense in the spring, and he told me as I was going in that he wasn't sure if I would pass! I never heard exactly how things went when my committee met in closed session after I left, so I don't know if Gerry had a fight on his hands or not -- I already had presented a conference paper (at an AMS meeting) and published a journal article (but not in a traditional math journal) over a year earlier, so he had something to work with if he needed it.
There was also a political side to this, whose effect I wonder about. When you take a sabbatical, you commonly go off to another school, but still get paid by your home institution. In return for this opportunity, you must agree to return to your home institution after you complete the sabbatical (or else pay back the money spent on you during sabbatical). Gerry, it turns out, was not coming back to MSU -- the following year, instead of returning from his sabbatical, he went to the University of Iowa to become Computer Center Director (with a joint appointment in Math). I don't know if my committee members knew or cared about this at the time of my defense, but it was late in the spring so it could have been a possible factor. But anyway, I did pass and received the PhD in Mathematics. A sad postscript to add here -- looking around on-line, I found that Seymour Ginsburg, who wound up at USC, had developed Alzheimer's and died in 2004.
I stayed at MSU after finishing my degree. I liked the work in the Computer Lab and was given significant authority there (head of systems programming). I was also given the opportunity to invent and teach a new year-long programming sequence, another large attraction. Finally, Lawrence Von Tersch was both Director of the Computer Center, and Dean of the College of Engineering. He gave me the position of Assistant Professor of Computer Science (the first at MSU), quite remarkable since there was not yet a department of Computer Science at MSU then! So in the fall of 1964, I assumed a position as both a faculty member and a senior staff person in the Computer Lab at MSU. I enjoyed the position I assumed in the Computer Lab. Although I had no serious voice in the choice of commercial computers (Control Data) that were being acquired, I was given the opportunity to provide advice on the hardware configuration and software systems to be employed. These choices ended up raising a number of challenging programming problems to be solved locally. For these projects, I was in charge of the choices. I got to choose the work I wanted to do myself, and had primary responsibility for who to hire as programmers and what assignments to give them.
I also had complete discretion over the content of a new year-long (three quarters) undergraduate course sequence in computer programming that I designed and taught. These were brand new courses with nothing like them previously available, and no one was telling me anything about what should be in them. I still have my notes from this sequence. I covered a little about punched card equipment (that was the medium of computer interaction in those days), and you had to master a number of pieces of equipment for this. Then I covered FORTRAN programming and assembly language programming in COMPASS (the assembler for the CDC 3600). The second term I covered ALGOL60, including BNF and syntax graphs. This led to recursion and a number of subtleties introduced by ALGOL. Finally, in the third quarter I discussed IPL-V (International Programming Language, iteration five), a general list processing language and onetime competitor of LISP, and discussed numerous list processing operations and applications. Some of this was material I had encountered in work in the Lab, but much was nearly as new to me as it was to the students. And, of course, this was my first contact with any kind of teaching activity!
During the course of this academic year is when I found out that Gerry had gone to the University of Iowa and assumed a joint appointment as Director of the Computer Center and Professor of Mathematics. Before long, he invited me to join him there. By the time we got to the details, he had arranged to start (and also be the head of) a Department of Computer Science, effective for the fall of 1965. This was quite a coup in less than a year to get authorization to start a new department, but perhaps (pure speculation) he included this arrangement as part of his conditions to defect to Iowa. Very few schools had departments of Computer Science yet at this time. Anyway, the details were very attractive to me as I would have a three-way appointment -- on the staff of the Computer Center, and as a faculty member in both the departments of Mathematics and Computer Science. This was significant to me for several reasons. At MSU, I was in the school of Engineering while my academic training was in Mathematics. There are sharp differences in the orientation of these fields (that's why they are in different colleges at almost every institution), and I was not really comfortable with an academic home in Engineering.
My interview trip to Iowa went quite well. In addition to knowing Gerry, I found that Bob and Teresa Oehmke had also moved to Iowa. I had earlier had a course (Real Analysis) from Bob at MSU and had not even been aware he had left there. In addition, I met Mort Rahimi (who later became my first PhD student), a student who had previously been at MSU, although I had not known him there. This made the surroundings seem very comfortable. Also, the Chair of the Math department, Harry Mulhy, was very cordial, and my talk seemed to be well received. Unfortunately, on my return flight to Lansing, who should be on the plane with me for the last leg but Dr. Von Tersch (the head of the Lab at MSU who had given me my appointment there)! I felt compelled to tell him I had visited Gerry at Iowa and this was quite awkward for me.
The joint academic appointment in Mathematics and Computer Science at Iowa seemed perfect as it meshed with my academic preparation while also offering academic recognition of Computer Science work (e.g., automata theory). And a partial appointment in the Computer Center also seemed essential to me in the light of the interest and six years of experience I had in Computer Lab activities at MSU. So in July 1965 I moved to the University of Iowa. Especially Gerry's presence, but also the character of my appointment -- split faculty appointment in the departments of Mathematics and Computer Science, plus on the staff of the Computer Center -- made it an offer I could not refuse. After two years I terminated my joint appointment in Mathematics and my transformation into becoming a computer scientist was fully accomplished.