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

I study HCI, software engineering, and online learning.

Academic Biography

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

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 develop software tools for the unique needs of computational researchers and data scientists.

In 2012, Philip wrote a popular free e-book called The Ph.D. Grind (phdgrind.com), 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. Also, the articles on his personal website (pgbovine.net) attract over 500,000 readers per year and have been reprinted in publications from O'Reilly Media, Quartz, and Slate.

Awards and Honors

  • CHI Honorable Mention Paper (Apr 2014)

  • ICSE Software Engineering In Practice Best Paper Award (Jun 2012)

  • ACM SIGSOFT Distinguished Paper Award (Jul 2009)

  • CHI Honorable Mention Paper (Apr 2009)

  • National Science Foundation (NSF) Graduate Fellowship (2009–2011)

  • National Defense Science and Engineering (NDSEG) Graduate Fellowship (2006–2009)

  • MIT Charles and Jennifer Johnson Thesis Award for Outstanding Computer Science Master of Engineering Thesis (May 2006)

Funding

  • National Science Foundation. CRII: CHS: Scaling Up Peer Tutoring via Real-Time Coordination, Shared Visualizations, and Session Archiving. (sole PI, 2015–2017)

  • University of Rochester. University Research Award: Enabling Fast and Scalable Feedback on Writing. (sole PI, 2015)

  • Microsoft Research. Office Mix Labs for Computer Science Education. (sole PI, 2014)

See my Curriculum Vitae for details.

Current Students

  • Davide Berdin (masters - F15)
  • Lenny Brown (undergrad - Sum15)
  • Mitchell Gordon (undergrad - S15)
  • Dan Hassin (undergrad - Sum15)
  • Jaime Montoya (Ph.D. - F15)
  • Jeremy Warner (undergrad - F14, S15, Sum15)
  • Jeffery White (masters - S15, Sum15)
  • Renan Zanelatto (masters - S15, Sum15)
  • Xiong Zhang (Ph.D. - F15)
  • Joyce Zhu (undergrad - S15)

Former Students and Alumni

  • Dan Scarafoni (masters - F14, S15, first job: MIT Lincoln Laboratory)
  • Doug Miller (undergrad - S15, first job: Jump Trading)
  • Karina Banda (undergrad - S15)
  • Logan Gittelson (Ph.D. - F14, S15)
  • J. Kate Godzicki (undergrad - F14, first job: Spiceworks)
  • Sara Lickers (undergrad - F14)

Ph.D. Committee Advisees

  • Erin Brady (first job: assistant professor at IUPUI)
  • Anna Loparev
  • Phyo Thiha

Teaching

University of Rochester

MIT

  • 6.813: User Interface Design & Implementation (Spring 2014)
  • 6.170: Laboratory in Software Engineering (Spring 2006) [TA]

Stanford

  • CS343: Advanced Topics in Compilers (Spring 2012) [TA]
  • CS242: Programming Languages (Autumn 2009) [TA]
  • CS243: Advanced Compiling Techniques (Winter 2008) [TA]