Professor Emeritus
Computer Science Department
Columbia University
New York, NY
coffman@cs.columbia.edu

Professor Emeritus
Electrical Engineering Department
Columbia University
New York, NY
egc@ee.columbiab>.edu

Distinguished Member of Technical Staff, 1979--1999
Mathematics Research Center
Bell Laboratories
Murray Hill, NJ


PROLOGUE

I expect the chronicle below to be very nearly a review of my entire professional career. As of this writing my age is 85, so my expectation shouldn't be far wrong. I begin with a capsule history of the pre-PhD years and conclude with a brief preview of the remaining years. For each position I list, I comment on my reactions to significant events while in that position. You might find these historical comments of some interest, for there can be no question that I helped introduce the field of computer science and engineering (CSE) into academia. On the other hand, they can also be ignored as items not normally found in a professional CV limited to an individual, in which case the reader can proceed to my Career Summary in the section that follows.

The early years, 1958-1966

After two years of post-baccalaureate active duty as a commissioned officer in the U.S. Navy, I returned in the summer of 1958 to my origins in Southern California. I set about getting into the graduate program in engineering at UCLA, while looking around for a suitable full-time job. Full time because I was the breadwinner of a family of four, and because the student financial support available to me at that time was indeed penurious. My first job interview was at the System Development Corporation (SDC) in Santa Monica, a very recent, non-profit spin-off from the RAND Corporation, where it was the System Development Division. SDC was desperately seeking applicants who held some promise of becoming useful programmers. Learning that I had a degree in math (UCLA), SDC hired me on the spot, and my career in CSE began, both in industry and academia.

This was a time when the world's largest general-purpose computers had around 16K words of random access memory, were beyond the financial means of most countries, took up the space of a moderately large suburban house, and enough power to light up a small city (think thousands of vacuum tubes with a massive cooling tower); when the word "byte" was still thought by many to be just a typo, when FORTRAN was considered a questionable project by many of the programmers in those early days, and when most of the acronyms referred to the instruction mnemonics of assemblers (CAD still meant clear-and-add).

Advances in technology since those days have been breathtaking. There are relatively few who, like me, were constantly scrambling to keep up all those years. And we deserve sympathy -- but for one thing. It wasn't long before I and my contemporaries at SDC realized that the profession we had adopted was part of something big, really big. We were very near the origin of exponential growth, though still a few years short of the first academic department of computer science in the US. What the profession became, how transformative it was to be, was beyond our imagination. It was an exciting time that brought us to work early and kept us till late

It was just the year previous to my start at SDC that the launching of Sputnik took place, an event that wholly reshaped SDC. A massive project to implement the SAGE air defense system, the raison d'etre of the company, was rendered obsolete. ARPA (later DARPA, the Defense Advanced Research Projects Agency), which had just come into being, joined in the rescue. And with that intervention, and others, SDC soon lost most of its military orientation, becoming one of the planet's leading software houses. For an extensive history of SDC, see The System Builders -- The Story of SDC, by Claude Baum, published by SDC (1981).

My math degree gave me something of a headstart at SDC. A bachelor's degree was a necessity, but seemingly, by the many backgrounds of my colleagues, it made little difference what one's major was. As might be expected, the frenetic hiring of candidates followed by an attempt to teach them programming skills led to difficult personnel decisions down the road. Many of those hired eventually gave clear indications that they weren't really cut out to be accomplished programmers. In industry and large institutions like SDC, such people were often absorbed elsewhere without lay-offs. This was not normally the case in academia, however, where it was also all too common for universities to move too fast in building their start-up faculties in CSE. In the mid '60s, a PhD (from almost anywhere, in almost any field) and some basic knowledge of, and modest contributions to, some area such as computer architecture, systems programming, scientific computing, numerical analysis, programming languages, ... were sufficient to land a faculty position at a very respectable university almost anywhere in the US. Retaining such a position, i.e., acquiring tenure, was an entirely different matter. This explosive growth of CSE in academia, often combined with electrical engineering departments, began when I was already a relatively seasoned veteran, and I was fully involved in its growing pains on every faculty I joined (as will be seen later on this page).

One final retrospective note, one that I will return to when I discuss my researh, concerns the many claims of originality referring back to the day when first editions of the achievements in computer and network engineering first saw the light of day. The zeitgeist of that earlier time was pure and simplistic, but it was eventually spoiled by the unfounded claims of presumably reputable scientists at some of our finest institutions. Belief in these claims by administrators of award programs has resulted in many questionable awards over the years. I encourage the reader to check out my RESEARCH page where specifics are given, including detailed citations, and, most notably, references to IEEE's history journal, where details have been brought out in two articles by David Hemmendinger (co-editor-in-chief). The later of the two articles was published very recently, and covered events more than 50 years earlier. I have my own version of this HISTORY which agrees with Professor Hemmendinger's, but goes further in identifying those knowingly making claims that are poorly informed at best, and dishonest at worst. (Warning: Wikipedia's historical, often amateurish, coverage is rife with errors. I strongly recommend that the reader stick with what conscientious, objective historians have to say, especially those, like Hemmendinger, with no personal involvement in the historical events they are describing and evaluating.)

Career summary

My employment history below contains brief statements of responsibilities and research directions in general terms. My PhD graduate students are also listed where appropriate. In brief addenda I comment on my personal experiences at each institution. Discussions of my research contributions and a research biography in greater depth are given on the RESEARCH page. This includes an acknowledgment of my 150+ co-authors in scientific publications. The AFFILIATIONS page covers extended professional visits/appointments at research and academic institutions around the world which add to the full-time appointments listed separately below. The SERVICE page lists my professional society memberships and the positions in which I served. Primary contributions were in journal editorships, and memberships on numerous program committees, steering committees, and various other ACM/IFIPS committees.

1958-1966: After an undergraduate degree in mathematics (UCLA '56) and two years of active duty as a commissioned officer in the U.S. Navy, I simultaneously began graduate studies at the University of California at Los Angeles (UCLA) and a full-time systems programmer position at a non-profit spin-off of the RAND Corporation, i.e., the System Development Corporation (SDC), where for 2 years I taught new-hires machine architecture, elementary algorithms, and assembly language programming. This work moved me first into operating systems development, particularly that connected with time-sharing systems and computer networks, and then into performance modeling and analysis.

My later research at SDC paralleled, but was independent of, my graduate program at UCLA: stochastic modeling and analysis of computer systems. Research results at SDC were collected in a dissertation which I submitted to UCLA's School of Engineering, whence the Ph.D. degree in 1966.

Remarks: Initially, my boss at SDC was Guy Dobbs, a really impressive fellow. Equally, if not more impressive, was my second boss, Jules Schwartz, who was the head of my group that built one of the original time-sharing systems. I return to this historic project in the RESEARCH page.

An attractive and distinctive feature of the SDC workplace was the daily delivery of free coffee and tea at your office door at around 10am and 3:00pm daily. Another even more attractive policy, effective from the day you started work, was that employees were given a month's vacation each year, and for each week-day on vacation you received not only your standard salary but a nontrival amount in addition to encourage you to take regular breaks from work. Does this sound like throwing money away when the salaries were already competitive? Don't believe it! Even so, the bean counters got rid of it eventually. A frequent event that the bean counters found annoying was someone taking a vacation day or two solely because that someone needed the bonus money to pay for an item such as a new refrigerator.

1966-1970: On receiving the Ph.D., I left SDC's software R&D environment and went on to the Electrical Engineering Department of Princeton University, where my research interests expanded into data structures, algorithmics, and combinatorial scheduling theory. I was the Ph.D. advisor of R. Muntz, A. Shoshani, M. Schmookler, and G. Burnett. I taught classical Electrical Engineering (circuit theory, switching theory, ...) and early Computer Science (algorithms, formal languages, automata theory, ...). I also had a visiting position at the Brooklyn Polytechnic Institute, now the Polytechnic Institute of New York University, where I also taught a course in automata theory and formal languages to augment the paltry salary given to probationary faculty at Princeton.

Remarks: Princeton was just a way station in computer science (CS) back in the early days. For example, to my complete surprise, E. McCluskey, the senior faculty member who effectively hired me, left for Stanford in the summer of my arrival at Princeton. Then, two of my colleagues who joined the faculty the year before I did, and one who arrived when I did, eventually left before I did 4 years later. I believe all of the newly hired faculty remaining when I left also left within a few years. The engineering school could hardly have had a worse start (or better opportunity) in its attempt to establish an early CS department competitive in reputation with the other departments of the school. Being only a junior faculty member at the time, I was not privy to the funding and "personal" issues that lay behind the difficulties in creating a CS department. Eventually, of course, Princeton sorted out its problems and succeeded in establishing one of the better departments in the country.

1969-1970. My last year on the Princeton faculty was spent on leave in England at the University of Newcastle-upon-Tyne and the University of Durham, where I was a (shared) Visiting Professor supported by an IBM Fellowship. Mine was a research brief only, and pursued directions already established.

Remarks: Brian Randell was my host for one of the most productive years of my professional life. And living in England was an enriching and thoroughly enjoyable experience. I could easily have spent the rest of my life there, the northern climate notwithstanding. The head of the lab where I worked was Prof. Ewan Page, also playing a host role. I don't remember working with him on a research project, but I know his devotion to administration hid an equally superior ability at research. And golf too, which we played even in dead winter at lattitudes which in the US made a decent game of golf quite impossible. Rain was ignored by the serous player in England. One brought out rain-proof pants, hooded rain-proof jacket, rubber shoes, and dug down in the bag for the scarred golf balls that you were actually glad to lose in the gorse or the incredibly dense fairway rough (assuming the ball did not soar into the English channel with a 50 mph tail wind).

1970-1976: I joined the Computer Science Department of the Pennsylvania State University (PSU) in 1970 where my research interests in bin-packing theory and average-case analysis of scheduling algorithms had their beginnings. I started as an associate professor and was promoted to full professor a couple of years later. My Ph.D. advisees at Penn State were J. Michel, R. Cody, and J. Leung. I was acting head for one term, and my teaching focused on the design and analysis of algorithms, and on operating systems.

1974-1975: I spent a year on leave from PSU as a visiting researcher at the Institut National de Recherche en Informatique et en Automatique (INRIA) in Rocquencourt, a suburb of Paris. INRIA, which in those days was just IRIA, had only just been created. The principal direction of my research there was performance modeling and analysis of computer systems in an "equipe" led by Erol Gelenbe. Erol and I first became friends when he attended a course on automata theory and formal languages that I gave while he was a student at Brooklyn Poly.

Remarks: My years at PSU started well and finished badly. (As can be seen above, I could have said the same thing when speaking of my time at Princeton, and indeed this won't be the last opportunity to say it.) I had decided to stay in this relatively bucolic setting at least until my two sons graduated from high school. The first place we bought was an inactive dairy farm on the side of Mt. Nittany, a well-known feature of the landscape surrounding State College (yes, that is the improbable, problematic name of the town in which PSU is situated. The area was also referred to as Happy Valley -- pure sarcasm to many.) The farm was a mistake as my sons had to be ferried 5 miles into town and back way too often. We sold the farm (and the horse we bought for it) and moved into a massive 4-story place in State College proper.

Back to professional matters: John Bruno and Ravi Sethi and I were re-united at PSU (I've forgotten the exact arrival order) John being a fellow Princeton escapee and Ravi being a fresh Ph.D. graduate at Princeton. Shortly afterward, a new dean, Tom Wartik, of the College of Science was announced. He rose from the ranks of the Chemistry Department, one of PSU's top departments at the time, and he announced his intention in no uncertain terms to improve the standing of the CS department. His first move was to cashier the current department chair, who had in fact founded the department some 6 or 7 years earlier; and he nailed me as the replacement. That went over like a lead balloon, with my being one of the more strident objectors. But he kept me in his crosshairs by asking me to serve as the acting chair during the search for a permanent replacement. I found it impossible to say no (which in retrospect I should have done). A half dozen of the senior faculty kept at it, going over the dean's head, and finally got someone in the administration to instruct Tom to have me step out of this position that I occupied for only one term, and didn't want in the first place. Tom found an acting head in another department of the College of Science (I think Math) to act as a "placeholder," which of course made all of the senior faculty look really feckless (there are less charitable terms) and indeed suicidal. One is ill-advised to go over the head of a new, highly respected dean.

There was a massive departure, as expected, in the late 70's including all of my close colleagues. As planned, my departure was timed to coincide with the graduation from high school of my younger son in 1976. Early in the spring of that year, I gave my then wife the choice of my accepting a position at Columbia or one at the University of California at Santa Barbara. She chose Columbia only to tell me before we left State College that she wanted a divorce. Had I known this earlier I would have chosen UCSB for my next position, simply as a reaction to circumstances that drew me back to the comforts of "home" in Southern California.

1976-1977: In a return to electrical engineering, I spent a brief one-year tour of duty at Columbia University, keeping with the decision I had already made. I connected with Kimming So, a Ph.D. advisee, and began research into the average-case analysis of bin packing.

Remarks: UCSB kept its offer open, and I warned everyone that I had accepted it subject to the year delay while at Columbia. Columbia CS was in "building" mode like so many universities at that time, and I pledged to further its CS plans as best I could. During that year over 40 years ago, I met my current wife, who eventually became an NYU professor emerita and my salvation. She turned that initial appointment at Columbia, which I almost turned down, into the most important year of my life.

1977-1979: I went on to the Department of Electrical Engineering at the University of California, Santa Barbara in 1977 and was accompanied by Kimming So who completed his PhD degree there in 1978. My research in two-dimensional packing began at UC Santa Barbara.

Remarks: UCSB wanted, and was in a position to form, a new CS department either in the College of Engineering or the College of Science. I took the position that, at that time, it didn't make much difference to me *where* they put the new department. The important thing was to get it *started* -- somewhere and soon. My on-the-fence position was appreciated by no-one. As the saying goes, there is a special place in Hell for those who straddle the fence on fundamentally important issues. In my view the "fundamentally important" did not apply. If the university's decision went in favor of the College of Science, it wouldn't have been long for the CS department to transfer over to an Electrical and Computer Engineering Department just as it has done on so many occasions elsewhere (e.g., that's exactly what happened at its sister university, UC Berkeley).

1979-1999:   I spent 20 years in the Mathematics Research Center of Bell Laboratories, more specifically in a department devoted primarily to the Mathematical Foundations of Computer Science and Operations Research, a department led successively by R. Graham, M. Garey, D. S. Johnson, and P. Winkler.  I continued my research in bin packing and scheduling theory, and in the average-case analysis of algorithms; I began my research in moving-server problems, dynamic storage allocation, stochastic scheduling, interval packing problems (also known as space filling, and parking problems), reservation theory, polling systems, and in the performance analysis of networks.

1999-2000: In 1999 I retired from Bell Labs and accepted positions of Foundation Professor in the Computer Science Department and Associate Dean for Computing at the New Jersey Institute of Technology. I taught a course in algorithms and one that highlighted advances in communication networks.

Remarks: At age 65 and facing a final retirement in the next few years, my plan at NJIT had a single focus: A major improvement in the national ranking of the Computer Science Department. This had to be done by hiring outstanding faculty, normally a goal that would be just wishful thinking. But not in 1999: Bell Labs was in the process of a major downsizing in its basic research staff. Many very highly regarded computer scientists, both in theory and in engineering, were ready, if not anxious, to go elsewhere. NJIT was in the general neighborhood of where they lived, and thus was presented with a golden opportunity. A dream of building one of the top dozen CS departments in the country did not seem that unrealistic. Alas, it was. A small but crucial subset of the faculty were clearly standing in the way of major improvements in their ranks. The reason was simple. Since these faculty with their consderable influence, did not measure up to the candidates available for hire (not even close really), they voted them down as a threat to their position in department affairs. The newbies would make them look bad.

.

2000-2008: I closed a 23-year cycle by returning in 2000 to my old position in the Electrical Engineering Department of Columbia University.  I also had  positions (nonbudgeted appointments) in the Computer Science Department and in the Department of Industrial Engineering and Operations Research. I taught courses in applied probability, communication systems and networks, performance evaluation of computer and communication systems, and an advanced course in the analysis of algorithms. My research focused on scheduling problems, stochastic analysis of linear networks (LANs), the analysis of hotspots on the Web, design and analysis of distributed cache systems, analysis of AIMD (TCP-like) congestion control algorithms, performance evaluation of optical burst switching, stochastic modeling of self-assembly processes in nanotechnology, and localization, sleep-wake protocols, and distributed counting in sensor networks.   I advised four PhD students: Andreas Constantinides, Teddy Yimwadsana, Jing Feng, and K. J. Kwak who all graduated during this period.   

2006:In the spring of 2006, I spent a semester as a Visiting Professor at Ecole Polytechnique (Paris) collaborating with Philippe Baptiste

2008- I retired for the second time and became a Professor Emeritus at Columbia in 2008, in both the Department of Computer Science and the Department of Electrical Engineering. I continued an active research program adding in 2010, S. Tarumi to the list of PhD graduates whose studies I have guided. I also contributed as a PhD advisor to Dr. Rob Margolies who graduated in 2015 (G. Zussman was the principal advisor).   

It was about the time I became a professor emeritus that I was asked to join the board of the Armstrong Memorial Research Foundation located in the Electrical Engineering Department of Columbia University. I was board president during 2008--2012.