James H. Morris

From Wikipedia, the free encyclopedia
(Redirected from J. H. Morris)
Jump to navigation Jump to search
James H. Morris
Born1941 (age 84–85)
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 University. He was previously dean of the Carnegie Mellon School of Computer Science and Dean of Carnegie Mellon Silicon Valley.[1]

Biography

[edit | edit source]

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 | edit source]
  • 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 of 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.

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ a b c d e f g h Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Lua error in Module:Authority_control at line 153: attempt to index field 'wikibase' (a nil value).