I received my Ph.D. and Master of Science degrees in Computer Science from Cornell University in August of 2006 and 2002, respectively. Prior to that, I received my Bachelor of Science degree from Carnegie Mellon University in the dual majors of Computer Science and Mathematical Sciences in May of 1998. The Mathematics Genealogy Project traces my mathematical ancestry (by Ph.D. advisor) as shown below.
Siméon Poisson (1781-1840) | |||||
Michel Chasles (1793-1880) | |||||
Hubert Anson Newton (1830-1896) | |||||
E. H. Moore (1862-1932) | |||||
Oswald Veblen (1880-1960) | |||||
Alonzo Church (1903-1995) | Philip Franklin (1898-1965) | ? | |||
Stephen Kleene (1909-1994) | Alan Perlis (1922-1990) | Steven Freeman, Jr. (Purdue) | |||
Jerry Feldman (U.C. Berkeley) | Seymour B. Hammond (U. Utah) | ||||
Bob Constable (Cornell) | Jim Horning (U. Toronto) | Wan-Hee Kim (Columbia) | |||
John Guttag (MIT) | Art Bernstein (SUNY Stony Brook) | ||||
Bob Harper (CMU) | Jeannette Wing (CMU) | Fred B. Schneider (Cornell) | |||
Greg Morrisett (Harvard) | |||||
Kevin W. Hamlen (UTD) |
Notes for Students:
It is worthwhile to investigate how the scientific philosophies and ideas of your field have propagated down to your professors from their teachers, and eventually to you. Here some anecdotes about some of the folks above that you might find interesting.
E. H. Moore did some of the pioneering work on mathematical axiom systems that eventually led to what we now call computability. His student, Oswald Veblen was part of the team that built the first digital computer—the ENIAC. Veblen's student, Alonzo Church became one of the founding fathers of functional programming. He invented the lambda calculus and co-posited the Church-Turing thesis, which many identify as the birth of computer science as a discipline. Church's student, Stephen Kleene went on to develop recursion theory, regular expressions, and many other foundations of computability theory.
Kleene's student, Bob Constable, is currently a professor at Cornell and graduated the very first student from the computer science department there. His research involves automated, logic-based programming and theorem-proving. Bob Harper, Dr. Constable's student, is a professor at Carnegie Mellon and a major figure in type theory research. He made significant contributions to the development of the Standard ML functional programming language. Finally, his student and my Ph.D. advisor, Greg Morrisett, is now a professor at Harvard. His research is some of the earliest to apply type theory and compiler design to computer security, giving rise to the field of language-based security, which is my primary area of research.
My other Ph.D. advisor, Fred Schneider has played an enormous role in carving out a science of computer security, making seminal contributions toward the formalization of fault-tolerance in distributed systems, artificial software diversity for security and reliability, in-lined reference monitors, and the state machine approach to replication management.
Erdös Number
My Erdös Number is presently 4, for those who enjoy tracking such things. Here's one length-4 publication chain:
- 1.Kevin W. Hamlen, Greg Morrisett, and Fred B. Schneider. Computability Classes for Enforcement Mechanisms. ACM Transactions on Programming Languages and Systems (TOPLAS), 28(1):175-205, January 2006.
- 2.Bowen Alpern, Alan J. Demers, and Fred B. Schneider. Safety Without Stuttering. Information Processing Letters, 23(4):177-180, November 1986.
- 3.David S. Johnson, Alan J. Demers, Jeffrey D. Ullman, M. R. Garey, and Ronald L. Graham. Worst-case Performance Bounds for Simple One-dimensional Packing Algorithms. SIAM Journal on Computing, 3(4):299-325, December 1974.
- 4.Paul Erdös and Ronald L. Graham. On Packing Squares with Equal Squares. Journal of Combinatorial Theory, Series A, 19(1):119-123, July 1975.
(If you're into web design, here's a fun challenge: How did I create the colored word-linking effect above using only browser-universal, standards-compliant CSS2 and no JavaScript? Note that a correct solution must shift the highlight boxes and connecting lines as the words move if the browser window resizes or scrolls.)