James H. Morris
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]
James H. Morris | |
---|---|
Born | 1941 |
Nationality | American |
Alma mater | Carnegie Mellon University (B.S.) Massachusetts Institute of Technology (MBA and Ph.D.) |
Scientific career | |
Fields | Computer Science, Human-Computer Interaction |
Biography
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, available on Amazon.
Selected papers
- 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.
References
- "Dr. James H. Morris—web page". Carnegie Mellon University.
(quote: 1941 • Born)
- "Advisory Board — (SCS Advisory Board Member Bios:)". Carnegie Mellon University. Archived from the original on 2009-10-16.
- "James H.Morris Personal Webpage". 2018. Retrieved 2018-02-07.
- "Baidu Scholar". 2018. Retrieved 2018-02-07.