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.

Site Search

Newest  RSS feed

  1. The N=2 Interview about Ph.D.s in Computer Science 2015-08-26
  2. Learning programming at scale 2015-08-13
  3. How did I get my first batch of students? 2015-07-28
  4. An example of command-line bullshittery in computer science research 2015-06-17
  5. What to expect over the next decade and beyond (CS graduation speech) 2015-05-16

View all articles

About me

I am an assistant professor of computer science at the University of Rochester. I research human-computer interaction, software engineering, and online learning. In particular, to enable learning programming at scale, I created a Web-based visualization tool 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 S.B. and M.Eng. degrees in Electrical Engineering and Computer Science from MIT in 2006 and a Ph.D. in Computer Science from Stanford in 2012. My Ph.D. dissertation was one of the first to create software development tools for the unique needs of computational researchers and data scientists. Before becoming a professor in 2014, I developed online learning tools as a software engineer at Google, a visiting researcher at edX, and a postdoc at MIT CSAIL.

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.