Philip Guo (Phil Guo, Philip J. Guo, Philip Jia Guo, pgbovine)
My name is Philip Guo (also search for me as Phil Guo, Philip J. Guo, Philip Jia Guo, pgbovine). I am an assistant professor of computer science at the University of Rochester.

Newest  RSS feed

  1. How did I get my first batch of students? 2015-07-28
  2. An example of command-line bullshittery in computer science research 2015-06-17
  3. What to expect over the next decade and beyond (CS graduation speech) 2015-05-16
  4. On Writing 2015-05-08
  5. Failure to Launch 2015-04-24

View all articles

About me

I am an assistant professor of computer science at the University of Rochester. My research area is human-computer interaction, with a focus on user interfaces for online learning. I am especially interested in studying how to better train software engineers and data scientists. I created a free Web-based visualization tool for learning programming called Online Python Tutor (, which has been used by over 1.2 million people in over 165 countries to visualize over 11 million pieces of code.

I received a Ph.D. in Computer Science from Stanford University in 2012 and S.B. and M.Eng. degrees in Electrical Engineering and Computer Science from MIT in 2006. My Ph.D. dissertation was one of the first to develop software tools for the unique needs of computational researchers and data scientists.

In 2012, I wrote a popular free e-book called The Ph.D. Grind, which is the first known detailed account of an entire Ph.D. experience. The Ph.D. Grind has been downloaded over 500,000 times so far. The other articles on this website attract over 500,000 readers per year.

Years before I began sharing my writing and software publicly, I originally created this website to showcase my childhood photography hobby. Click on any thumbnail on this page to see a gallery of related photos, or reload this page to see more random photos from my collection. I took some of my favorite photos during my Summer 2000 and 2005 tours of rural China.