Modern-day programming is incredibly complex, and people from all sorts of backgrounds are now learning it. It is no longer sufficient just to learn how to code: one must also learn to work effectively with data and with the underlying software environment. In this talk, I will present three systems that I have developed to support learning of code, data, and environment, respectively: 1) Python Tutor is a run-time code visualization and peer tutoring system that has been used by over five million people in over 180 countries to form mental models and to help one another in real time, 2) DS.js uses the web as a nearly-infinite source of motivating real-world data to scaffold data science learning (UIST 2017 Honorable Mention Award). 3) Porta helps experts create technical software tutorials that involve intricate environmental interactions (UIST 2018 Best Paper Award). These systems collectively point toward a future where anyone around the world can gain the skills required to become a productive modern-day programmer.
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, programming tools, and online learning. He now focuses on building scalable systems that help people learn computer programming and data science. He is the creator of Python Tutor (http://pythontutor.com/), a widely-used code visualization and collaborative learning platform. So far, over five million people in over 180 countries have used it to visualize over 75 million pieces of Python, Java, JavaScript, C, C++, and Ruby code. Philip’s research has won Best Paper and Honorable Mention awards at the CHI, UIST, ICSE, and ISSTA conferences, and an NSF CAREER award.
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 programming 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 http://pgbovine.net/ contains over 500 articles, videos, and podcast episodes and gets over 750,000 page views per year.