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.