James H. Morris
100 7th St., #404
Pittsburgh, PA 15222-1134
Born: October 11, 1941, Pittsburgh, PA
Married, Two Children
BS in Mathematics, Carnegie Institute of Technology, June 1963, Honors: Tau Beta Pi, Phi Kappa Phi
S.M. in Management, MIT, February 1966, Thesis: “Compilation and Interpretation in OPS-3”
Ph.D. in Computer Science, MIT June 1969, Thesis: “Lambda Calculus Models of Programming Languages”
1982-: Carnegie Mellon University
Professor of Computer Science
Dean of Silicon Valley Campus 2004-2009
Dean of School of Computer Science 1999-2004
Computer Science Department Head 1992-1999
Herbert A. Simon Professor of Human Computer Interaction from 1997 to 2000
Supervised Ph.D. thesis
Nathaniel S. Borenstein, “Analysis of Help Systems”
Richard Cohn, “Command Languages for Window Systems”
Ellen A. Borsion, “An Analysis of Software Manufacture Costs”
David Nichols, “Multiprocessing in a Network of Workstations”
Bruce Horn, “Constrained Object Programming”
Director of the Information Technology Center 1982-1987
Built and ran a 40-person organization that implemented the Andrew system, a prototype university computing system. Responsible for obtaining funding, staffing, and basic technical directions.
Principal Investigator of NSF EXPRES project, 1986-1989, NSF Prep Editor grant, 1989-1996, DARPA grant on Human Computer Interaction, 1993-96, Virtual Work Rooms, 1996-1999.
1989-1992: President, MAYA Design Group, Inc., a consulting company specializing in the design of computing systems for general use.
1974 - 1982: Xerox Palo Alto Research Center
Member of Research Staff, 1974-1979
Principle Scientist, 1979-1982
Research Fellow, 1982
Recipient of PARC Special Incentive Stock Award, 1981.
1979-1981: Manager of the Cedar Programming Environment project.
1979: Participated in a group developing CUSP, a customer
programming language for the Star product.
Worked on the design extensions to Mesa for the Cedar
Developed the Poplar programming language.
Served as a consultant to the Star Development effort.
Helped organize the Software and Systems Seminar for the
Corporate Policy Committee.
Participated in the development of the Juniper Distributed File System.
Developed a Mesa B-Tree package.
Wrote the Element of Mesa Style programming manual.
Studied program verification, language evaluators, and program readability.
Conducted language comparison studies.
Participated in the development of the Alto Operating System.
1969- 1974 University of California at Berkeley, Computer Science Department
Assistant Professor 1969-1974 (acting in '69, '70).
Member of Chancellor's Committee on Computing (1971-1974).
Participated in the Cal Timesharing System 1969,1970.
Implemented BCPL Compiler Code generator.
Supervised development of a BASIC system.
Supervised Ph.D. theses:
L. Peter Deutsch, "An Interactive Program Verifier”.
Howard E. Sturgis, "A Post-mortem of a Time-sharing System”.
Tomasz Kowaltowski, "Proofs about Data Structures”.
Reiji Nakajima, "Infinite Models of the Lambda Calculus”.
Summer 1965, September 1966 - December 1968: Research Assistant,
Project MAC MIT
Participated in the Development of the OPS-3 System.
Implemented the programming language PAL.
June 1966-September 1966: Researcher, Computing Corporation of
America, Cambridge, MA.
Studied a language for relational data bases.
June 1964-September 1964: Summer Intern Texas Instruments Corp.,
Designed an inventory control system for a small computer.
Diamondhead Ventures (2004), Google(2004), IRS (2002), SUN(1999)
“Another Recursion Induction Principle”, Communications of the ACM, 1971.
“Recursion Schemes with Lists”, ACM SIGACT Symposium on the Theory of Computing, Boulder, CO, 1972.
“Verification-oriented Language Design”, technical report, Computer Science Department, U.C. Berkeley, 1973.
“A Bonus from van Wijngaarten's Device” Communications of ACM, 1973.
“Protection in Programming Languages”, Communication of ACM, 1974.
“Types are not Sets”, Symposium on Principles of Programming Languages, Boston, 1974.
“Towards More Flexible Type Systems”, Colloque sur la Programmation, Paris, 1975.
“A Lazy Evaluator”, with P. Henderson, Symposium on Principles of Programming Languages, 1976.
“Subgoal Induction”, with Ben Wegbreit, Communications of he ACM, 1977.
“Fast Pattern Matching in Strings”, with D. E. Knuth and V.R. Pratt, SIAM Journal Computing, 1977.
“Early Experience with Mesa”, with C.M. Geschke and E. W. Satterthwaite, Communications of the ACM, 1977.
“Experience with an Applicative String Processing Language”, with E. Schmidt, P. Wadler, Symposium on Principles of Programming Languages, 1980. (Accepted for publication in ACM Transactions of Programming Languages and Systems)
“Andrew: A Distributed Personal Computing Environment”, Communications of the ACM, with M. Satyanarayanan, M. Conner, J. Howard, D. S. H. Rosenthal, F. D. Smith, March 1986.
“Andrew: Carnegie Mellon's Computing System”, IFIP Proceedings, with J. Leong, D. Nichols, M. West, M. Satyanarayanan, September 1986.
" ‘Make or Take’ Decisions in Andrew,” Proceedings of the USENIX Technical Conference, Dallas, February, 1988.
“Issues in the Design of Computer Support for Co-authoring and Commenting,” with C. Neuwirth, D. Kaufer, and R. Chandhok, Proceedings of the Third Conference on Computer-supported Cooperative Work, 1990
“Flexible diff-ing in a collaborative writing system,” with Neuwirth, C. M., Chandhok, R., Kaufer, D. S., Erion, P., & Miller, D. (1992). In Proceedings of the Fourth Conference on Computer-Supported Cooperative Work (CSCW '92) (pp. 147-154). Baltimore, MD: Association for Computing Machinery. Reprinted in R. Rada (Ed.) (1996). Groupware and authoring (pp. 189-204). San Diego: Academic Press.
“Computer support for distributed collaborative writing: Defining parameters of interaction’” with Neuwirth, C. M., Kaufer, D. S., Chandhok, R.,(1994). In Proceedings of the Conference on Computer-Supported CooperativeWork (CSCW '94) (pp. 145-152). Oct. 2-26, Chapel Hill, NC. Association for Computing Machinery.
“Accommodating mixed sensory/modal preferences in collaborative writing systems,” with Kaufer, D. S., Neuwirth, C. M., Chandhok, R.(1995). Computer Supported Cooperative Work, 3, 271-295.
“Envisioning Communication: Task-Tailorable Representations of Communication in Asynchronous Work,” with Christine M. Neuwirth. Susan Harkness Regli, Ravinder Chandhok, Geoffrey C. Wenger, CSCW 1998, Seattle.
“Envisioning Communication: Task-Tailorable Representations of Communication in Asynchronous Work,” with Christine M. Neuwirth. Susan Harkness Regli, Ravinder Chandhok, Geoffrey C. Wenger, CSCW 1998.
“Interface Issues in Computer Support for Asynchronous Communication,” with Christine M. Neuwirth. Susan Harkness Regli, Ravinder Chandhok, Geoffrey C. Wenger, Computing Surveys (1999)
“Markets for Attention: Will Postage for Email Help?”, with Robert E. Kraut, Rahul Telang, Shyam Sunder, Darrin Filer, and Matt Cronin, Proceedings of the Ninth Conference on Computer-supported Cooperative Work, 2002.
“Neutral Networks”, Tau Beta Pi Magazine, Carnegie Institute of Technology, 1963.
On-Line Computation and Simulation: The OPS-3 System, with M. Greenberger, et al., M.I.T. Press, 1965.
“Final Report on the String Analysis Project”, with N. Sager and M. Salkoff, University of Pennsylvania, 1965.
“Lambda-calculus Models of Programming Languages”, Project MAC Technical Report 57, December 1968.
“A Proof of a Data Structure Algorithm” in Formal Semantics of Programming Languages, R. Rustin (ed.), Prentice-Hall, 1971.
The Elements of Mesa Style, Xerox internal report, 1977.
“Real Programming in Functional Languages”, in Notes from a Functional Languages Summer Course, Darlington, Henderson, and Turner, eds., North-Holland, 1981.
“Experience with Electronic Mail in Andrew,” Proceedings of a conference on Languages for Special Purposes, Technical University of Eindhoven, August, 1988.
“War Stories from Andrew”, A virtual version of the CACM, December 1996. http://www.acm.org/cacm/extension/
“Computer supported collaborative writing: A coordination science perspective,” with Neuwirth, C.M., Chandhok, R., Kaufer, D.S., Erion, P., & Miller, D. (in press). In G.M. Olson, T.W. Malone & J.B.Smith (Eds.), Coordination Theory and Collaboration Technology. Mahwah, NJ: Lawrence Erlbaum Associates.
“Tales of Technology” a monthly series in the business section of the Pittsburgh Post-Gazette, 2003, http://www.cs.cmu.edu/tales/index.html
Occasional columns in The Pittsburgh Quaterly.
“Fighting the Single-Occupancy Vechicle”, 2008 Conference on Behavior, Energy, and Climate Change, Sacamento, CA.
1969: Three lectures on Programming Language Semantics, M.I.T.
1979: A series of ten lectures on programming methodology at the Tata Institute of Fundamental Research, Bombay, India.
1979: A series of six lectures on programming methodology at the University of Sao Paulo, Brazil.
1980: Distinguished Speaker, Stanford University Computer Forum Lecture Series.
1981: A series of three lectures on functional programming at the University of Newcastle upon Tyne, England.
1982: Distinguished Lecturer, Carnegie Mellon University, Computer Science Department.
2006: Talk at Xerox PARC
Other talks: UCLA, U.C. Santa Cruz, Carnegie Mellon University, Queen Mary College (London), Cornell, M.I.T., University of Toronto, Queens University (Kingston, Ontario), Syracuse University, Cornell University, N.Y.U. Courant Institute, Berkeley, Stanford University, U.S.C., I.B.M. San Jose, Indiana University, University of Utah, Princeton, Georgia Institute of Technology, Technical University at Eindhoven, Kyoto University, IBM Tokyo Research Lab, Jiao Tong University, Fudan University, Academica Scinica Software Institute - Beijing, New York State Library Colloquim Albany.
Editorial and Review Activities
1974-1978 Associate Editor of the Journal of the ACM for Programming Languages and Methodology.
1977: Member of the Program Committee, ACM Conference on Language Design for Reliable Software.
1975 and 1976: Member of the Program Committee, ACM Principles of Programming Languages Symposium.
1976: Co-editor of a special issue of the Communications of the ACM devoted to papers on Principles of Programming Languages.
1980: Department Review Committee, Computer Science Department, Indiana University.
1980: Member of the Program Committee, ACM Conference on Computer Architecture for Functional Programming Languages.
1981: Member of the Science Advisory Council, Mills College.
1981: Review of the Eden programming environment project, Computer Science Department, University of Washington.
1981: Review of the Spice programming environment project, Computer Science Department, Carnegie Mellon University.
1981: Member of the program committee, ACM Conference on Functional Programming and Machine Architecture.
1982: Chairman of an ACM awards committee, Systems and Software Award.
1987: Member of an NSF-sponsored panel meeting a delegation of Japanese Software Engineers at the East-West Center in Hawaii.
1988, 1998: Program Committee for ACM conference on Computer Supported Cooperative Work.
1989: Panelist in National Research Council colloquium on “Keeping the U.S. Computer Industry Competitive: Defining the Agenda”
1989: Member of a JTECH/NSF panel assessing Japanese Computer Science.
1991-1998- Member of Research Advisory Board for SUN Microsystems
1997-2000 Elected member of board of directors of the Computer Research Association
1997- Board of Directors Vision Systems, Inc.
1997- Board of Directors Cybergenics, Inc.
2002-2006: Member of Markle Foundation task force on Security in the Information Age
Review Committees for CS Departments: Indiana University, Lehigh University, Oregon Graduate Institute, University of North Carolina
Served on several Ph.D. Thesis committees at Berkeley and Carnegie Mellon University.