James H.
Morris
100 7th St., #404
Pittsburgh, PA 15222-1134
412 609-5000
http://www.cs.cmu.edu/~jhm
Personal
Born:
October 11, 1941, Pittsburgh, PA
Married,
Two Children
Citizenship:
USA
Education
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”
Employment History
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
language.
1978-1974:
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.,
Attleboro, MA.
Designed an inventory
control system for a small computer.
Consulting
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.