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

My research spans human-computer interaction, online learning, and computing education.

Publications | Google Scholar | Curriculum Vitae

About Me

Philip Guo is an assistant professor of Cognitive Science and an affiliate assistant professor of Computer Science and Engineering at UC San Diego. His research spans human-computer interaction, online learning, and computing education. He currently focuses on building scalable systems that help people learn computer programming and data science. Philip is the creator of Python Tutor (, a code visualization and collaborative learning platform that has been used by over 3.5 million people in over 180 countries to visualize over 30 million pieces of code.

Philip received S.B. and M.Eng. degrees in Electrical Engineering and Computer Science from MIT and a Ph.D. in Computer Science from Stanford. His Ph.D. dissertation was one of the first to create tools for data scientists. Before becoming a professor, he built online learning tools as a software engineer at Google, a research scientist at edX, and a postdoc at MIT. Philip's website contains over 500 articles, videos, and podcast episodes and gets over 750,000 page views per year.

Awards and Honors

  • UIST Honorable Mention Paper Award, 2017
  • CHI Honorable Mention Paper Award, 2017
  • Google Faculty Research Award, 2015
  • CHI Honorable Mention Paper Award, 2014
  • ICSE Software Engineering In Practice Best Paper Award, 2012
  • ACM SIGSOFT Distinguished Paper Award, 2009
  • CHI Honorable Mention Paper Award, 2009
  • NSF and NDSEG Ph.D. Fellowships, 2006–2011
  • MIT EECS Master's Thesis Award in Computer Science, 2006

Selected Press

Graduate Students

  • Charles Chen (masters, Computer Science & Engineering)
  • Ian Drosos (Ph.D., Cognitive Science)
  • Kandarp Khandwala (Ph.D., Computer Science & Engineering)
  • Sean Kross (Ph.D., Cognitive Science)
  • Alok Mysore (masters, Computer Science & Engineering)
  • Xiong Zhang (Ph.D., Computer Science, U. Rochester)


UC San Diego

  • COGS 120/CSE 170: Human-Computer Interaction Design (Fall 2017, Fall 2016)
  • COGS 121: Human-Computer Interaction Programming Studio (Spring 2017)
  • COGS 124: HCI Technical Systems Research (Fall 2017)
  • COGS 231: Design Seminar on Human-Centered Programming (Spring 2017)

University of Rochester


  • 6.813: User Interface Design & Implementation (Spring 2014)
    • co-taught with Rob Miller, Daniel Jackson, and David Karger