Morris taught at the University of California, Berkeley where he developed some important underlying principles of programming languages: inter-module protection and lazy evaluation. He was a co-discoverer of the Knuth–Morris–Pratt algorithm for string-search.
For ten years he worked at the Xerox PARC (Palo Alto Research Center) where he was part of the team that developed the Xerox Alto System.
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. He has been the principal investigator of two NSF projects aimed at computer-mediated communication: EXPRES and Prep.
He was a founder of the MAYA Design Group, a consulting firm specializing in interactive product design.<ref... Read More