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]

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.