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.

About Me

I am an assistant professor of computer science at the University of Rochester. My research spans human-computer interaction, online learning, software engineering, and data science. To enable learning programming at scale, I created Python Tutor (, a code visualization and social learning platform that has been used by over 1.5 million people in over 180 countries to visualize over 13 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 productivity tools for data scientists. Before becoming a professor in 2014, I built online learning tools at Google, edX, and MIT CSAIL.

I have been writing online since 2004. This website contains over 250 articles and gets over 750,000 page views per year.

Newest Articles  RSS feed

  1. Automatically create Docker images by running the program you want to package 2015-11-23
  2. Shadow Writing 2015-11-19
  3. Advice for first-year Ph.D. students 2015-11-05
  4. Twelve Tips for Data-Driven Research 2015-11-05
  5. What is a programming language? 2015-10-28
  6. Why universities should offer a programming interview prep elective course 2015-10-15
  7. REST Web APIs: A Super-Simple Tutorial 2015-10-12
  8. The N=2 Interview about Ph.D.s in Computer Science 2015-08-26
  9. Learning programming at scale 2015-08-13
  10. How did I get my first batch of students? 2015-07-28

View all articles

Find an article within this site using search terms: