Philip Guo (Phil Guo, Philip J. Guo, Philip Jia Guo, pgbovine)

I research HCI and educational technology.

I currently

  • investigate how different kinds of people learn programming,
  • study educational technologies such as MOOCs, and
  • build interactive software to help people learn.

In other words, I create “user interfaces 4 online learnin

View my Curriculum Vitae, Google Scholar profile, and publications.

Academic Biography

Philip Guo is an assistant professor of computer science at the University of Rochester. His main research interests are in human-computer interaction (HCI), especially building new user interfaces for online learning. He created a free Web-based tool for learning programming called Online Python Tutor (, which has been used by over 500,000 people in over 165 countries. He has also researched online education at edX and Google.

Philip 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. His Ph.D. dissertation was one of the first to identify the unique software needs of computational scientists and to develop five new tools to address those needs. One such tool, CDE, has been used by over 10,000 people.

In 2012, Philip wrote a popular free e-book called The Ph.D. Grind (, which is the first known detailed account of an entire Ph.D. experience. So far, over 300,000 people have downloaded it, and hundreds of readers have sent him heartfelt email responses. He also writes a monthly blog column for the Communications of the ACM, and his personal website ( gets over 250,000 visitors per year. Some of Philip's articles have appeared in popular venues such as Slate, O'Reilly Media, and NPR.

Featured Publications

To get a sense of what research I work on, read these papers:

How Video Production Affects Student Engagement: An Empirical Study of MOOC Videos. Philip J. Guo, Juho Kim, Rob Rubin. ACM Conference on Learning at Scale, March 2014.
[BibTeX | Blog post]

Demographic Differences in How Students Navigate Through MOOCs. Philip J. Guo and Katharina Reinecke. ACM Conference on Learning at Scale, March 2014.
[BibTeX | Blog post]

Online Python Tutor: Embeddable Web-Based Program Visualization for CS Education. Philip J. Guo. ACM Technical Symposium on Computer Science Education (SIGCSE), March 2013.
[BibTeX | Webpage]

See all of my publications

Awards and Honors

  • National Science Foundation (NSF) Graduate Fellowship

  • National Defense Science and Engineering (NDSEG) Graduate Fellowship

  • Software Engineering In Practice Best Paper Award for Characterizing and Predicting Which Bugs Get Reopened

  • ACM SIGSOFT Distinguished Paper Award for HAMPI: A Solver for String Constraints

  • CHI Honorable Mention for Crowdsourcing Step-by-Step Information Extraction to Enhance Existing How-to Videos

  • CHI Honorable Mention for Two Studies of Opportunistic Programming: Interleaving Web Foraging, Learning, and Writing Code

  • MIT Charles and Jennifer Johnson Thesis Award for Outstanding Computer Science Master of Engineering Thesis