- Ph.D. in Computer Science, University of North Carolina, 1974–1976
- M.S. in Computer Science, University of North Carolina, 1974–1976
- B.S. in Mathematical Sciences, Stanford University, 1972–1974
- A.S. candidate, Long Beach City College, 1970–1972
FAVORITE PASTIMES & HOBBIES
Hiking, climbing, and mountaineering; volunteering as an emergency medical technician
Jon started programming computers in 1969 and was first paid to write programs in 1970 as a student employee at Long Beach City College. After two years, he transferred to Stanford, where he completed his undergraduate degree in 1974. Jon had many exceptional opportunities as an undergraduate: He worked as a programmer at Xerox Palo Alto Research Center when they were developing the personal computer as we know it, and his undergraduate paper on “k-d trees” (under the supervision of Don Knuth) proposed a geometric data structure that has since found wide use. Jon attended grad school at the University of North Carolina and then taught at Carnegie Mellon University from 1976 to 1982, where he had many excellent colleagues and students. At Carnegie, Jon concentrated his main research on algorithms (with a focus on geometry) but also branched out into many other areas and wrote Writing Efficient Programs (Prentice Hall, 1982), a book on code tuning.
Jon started working at Bell Labs in 1982 and found a wonderful home in the Computing Science Research Center, the group that gave the world UNIX, C, and C++. He worked in many different areas there, including theoretical algorithms, applied algorithms, software tools, and products such as telephones and switches. For several years, he wrote the “Programming Pearls” column in Communications of the ACM and compiled selected columns in the books Programming Pearls (ACM Press, 1986; second edition Addison-Wesley Professional, 1999) and More Programming Pearls (Addison-Wesley Professional, 1988).
After retiring from Bell Labs in 2001, Jon took two-and-a-half months off to “play in the mountains” and then joined Avaya Labs Research. There he has worked in many areas, including algorithms, software engineering (with Dave Weiss), human authentication, and enterprise communication systems. In 2007, he filed about a dozen patent applications.