Professor Emeritus
Columbia University
Department of Computer Science
Department of Electrical Engineering

Distinguished Member of Technical Staff (Retired)
Bell Laboratories
Mathematics Research Center

Board member (2008- ) and past president (2008-2012), Armstrong Memorial Research Foundation

Columbia University
1334 Mudd Bldg
500 W. 120th St.
New York, NY 10027

Ph: 212-316-9038
Fax: 212-932-9421











This page describes Prof. Coffman's employment history (institutions are in boldface), along with brief statements of responsibilities and research directions in general terms. PhD graduate students are also listed where appropriate. Discussions of his research contributions to-date and a research biography in greater depth are given in the RESEARCH section.


1958-1966: After an undergraduate degree in Mathematics (UCLA '56) and two years of active duty in the U.S. Navy, Lieutenant(j.g.) Coffman simultaneously began part-time 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: the System Development Corporation (SDC), where for 3 years he taught machine architecture, elementary algorithms, and assembly language programming. This work moved him first into operating systems development, particularly time-sharing systems, and then performance modeling and analysis.

His later work at SDC merged with his graduate research at UCLA: stochastic modeling and analysis of computer systems - research results at the former were collected in a dissertation at the latter, whence the Ph.D. degree in 1966.

1966-1970: Coffman went on to the Electrical Engineering Department of Princeton University, where his research interests expanded into data structures, algorithmics, and combinatorial scheduling theory. He was the PhD. advisor of R. Muntz, A. Shoshani, M. Schmookler, and G. Burnett. He taught classical Electrical Engineering (circuit theory, switching theory, ...) and early Computer Science (algorithms, formal languages and automata, ...). He also had a visiting position at Brooklyn Polytechnic Institute, now the Polytechnic Institute of New York University.

1969-1970: His last year on the Princeton faculty was spent on leave at the (UK) Universities of Newcastle-upon-Tyne and Durham, where he was a Visiting Professor supported by an IBM Fellowship. His was a research brief only, and pursued directions already established.

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

1974-1975: He spent a year on leave from PSU at research in E. Gelenbe's equipe 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 his research there was performance modeling and analysis of computer systems.

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

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

1979-1999:   Coffman 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.  He continued his research in bin packing and scheduling theory, and in the average-case analysis of algorithms; he began his research in moving-server problems, dynamic storage allocation, stochastic scheduling, interval packing problems (also known as space filling, adsorption-desorption, and parking problems), reservation theory, polling systems, and in the performance analysis of networks.

1999-2000: In 1999, Coffman 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. He taught a course in algorithms and one in advances in communication networks.   

2000-2008: Coffman closed a 23-year cycle by returning in 2000 to his old position in the Electrical Engineering Department of Columbia University.  He also had  positions (nonbudgeted appointments) in the Computer Science Department and in the Department of Industrial Engineering and Operations Research. He 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. His recent research has 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.   He advised four PhD students: Drs. Andreas Constantinides, Teddy Yimwadsana, Jing Feng, and K. J. Kwak who all graduated during this period.   

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

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

2008-: Coffman joined the board of the Armstrong Memorial Research Foundation located in the Electrical Engineering Department of Columbia University. He was board president during 2008--2012.