Interviewed by Hansen Hsu on 2024-04-12 in Mountain View, CA
© Computer History Museum
Jeffrey Ullman was born November 22, 1942 in New York City, where he grew up. He attended Columbia University beginning in 1959, majoring in engineering mathematics. Ullman also took a summer job at an insurance company, where he had his first experience programming a computer, and a later summer job at Brookhaven National Laboratory writing programs for an IBM 7090. Ullman went on to graduate school at Princeton in electrical engineering. He continued to work summer jobs, first at IBM Yorktown, working with Bob Chen on error correction, which would become his thesis topic, and then at the Rand Corporation, working with Seymour Ginsburg. After returning to Princeton he would work with new faculty John Hopcroft on finite automata theory and context-free language. After graduation in 1966, Ullman joined fellow Princeton alumus Al Aho in Doug McIlroy’s group at Bell Labs. Ullman would collaborate with Hopcroft and Aho separately and together on seminal books on automata, algorithms, language theory and compilers. One of these became the famous “Dragon” book that became ubiquitous in undergraduate compiler courses. Ullman also collaborated with Aho and Steve Johnson on the Unix-based language parser generator YACC. In 1969 Ullman returned to Princeton as faculty in computer science, working on code optimization and relational database theory. Ullman moved to Stanford in 1978, continuing his work on databases, where he, along with Gio Wiederhold, Jennifer Widom, and Hector Garcia Molina became the leading academic database laboratory. Ullman also began to get into VLSI design algorithms, for which he also wrote a book. Other books included a book on the ML programming language, and another collaboration with Aho, Foundations of Computer Science. Ullman served as chair of the Stanford computer science department from 1990-1994. His most recent work has been on parallel data mining algorithms.
- Note: Transcripts represent what was said in the interview. However, to enhance meaning or add clarification, interviewees have the opportunity to modify this text afterward. This may result in discrepancies between the transcript and the video. Please refer to the transcript for further information – http://www.computerhistory.org/collections/catalog/102808987
Visit computerhistory.org/collections/oralhistories/ for more information about the Computer History Museum’s Oral History Collection.
Catalog Number: 102808988
Acquisition Number: 2024.0055