Jump to content

James H. Morris

From Wikipedia, the free encyclopedia
James H. Morris
Alma materCarnegie Mellon University (B.S.)
Massachusetts Institute of Technology (MBA and Ph.D.)
Scientific career
FieldsComputer Science, Human-Computer Interaction

James Hiram Morris (born 1941) is a professor (emeritus) of Computer Science at Carnegie Mellon. He was previously dean of the Carnegie Mellon School of Computer Science and Dean of Carnegie Mellon Silicon Valley.[1]


A native of Pittsburgh, Morris received a Bachelor's degree from Carnegie Mellon University, an S.M. in Management from the MIT Sloan School of Management, and Ph.D. in Computer Science from MIT.[2]

Morris taught at the University of California, Berkeley, where he developed some important underlying principles of programming languages: inter-module protection and lazy evaluation.[2] He was a co-discoverer of the Knuth–Morris–Pratt algorithm for string-search.[2]

For eight years, he worked at the Xerox PARC (Palo Alto Research Center), where he was part of the team that developed the Xerox Alto System.[2] He also directed the Cedar programming environment project.[2]

From 1983 to 1988, Morris directed the Information Technology Center at Carnegie Mellon University, a joint project with IBM, which developed a prototype university computing system, the Andrew Project.[2] He has been the principal investigator of two National Science Foundation projects aimed at computer-mediated communication: EXPRES and Prep.[2]

He was a founder of the Carnegie Mellon's Human-Computer Interaction Institute and MAYA Design Group, a consulting firm specializing in interactive product design.[2][3][4]

He wrote a memoir, Thoughts of a Reformed Computer Scientist.

Selected papers[edit]

  • D. E. Knuth, J. H. Morris, V. R. Pratt (1977). Fast Pattern Matching in Strings, SIAM Journal on Computing. 6 (2): 323–350
  • Morris, J. H., Satyanarayanan, M., Conner, M. H., Howard, J. H., Rosenthal, D. S., & Smith, F. D. (1986). Andrew: a distributed personal computing environment. Communications of the Acm, 29(3), 184-201.
  • Henderson, P., & Morris, J. H. (1976). A lazy evaluator. ACM Sigact-Sigplan Symposium on Principles on Programming Languages (pp. 95–103). DBLP.
  • Neuwirth, C. M., Kaufer, D. S., Chandhok, R., & Morris, J. H. (1990). Issues in the design of computer support for co-authoring and commenting. ACM Conference on Computer-Supported Cooperative Work (pp. 183–195). ACM.
  • Geschke, C. M., Morris, J. H., & Satterthwaite, E. H. (1977). Early experience with mesa. Communications of the Acm, 20(8), 540-553.
  • Morris, J. H. (1973). Protection in programming languages. Communications of the Acm, 16(16), 15-21.
  • Neuwirth, C. M., Kaufer, D. S., Chandhok, R., & Morris, J. H. (1994). Computer support for distributed collaborative writing: defining parameters of interaction. ACM Conference on Computer Supported Cooperative Work (pp. 145–152). ACM.


  1. ^ "Dr. James H. Morris—web page". Carnegie Mellon University. (quote: 1941 • Born)
  2. ^ a b c d e f g h "Advisory Board — (SCS Advisory Board Member Bios:)". Carnegie Mellon University. Archived from the original on 2009-10-16.
  3. ^ "James H.Morris Personal Webpage". 2018. Retrieved 2018-02-07.
  4. ^ "Baidu Scholar". 2018. Retrieved 2018-02-07.