Learning Programming at Scale: Code, Data, and Environment


Philip Guo

Assistant professor of Cognitive Science at UC San Diego

Friday, October 26, 2018 - 1:30pm to 2:30pm
Newell-Simon Hall 1305 (Michael Mauldin Auditorium)

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 3.5 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. 

Speaker's Bio

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 3.5 million people in over 180 countries have used it to visualize over 50 million pieces of Python, Java, JavaScript, C, C++, and Ruby code. In addition, his papers have won Best Paper and Honorable Mention awards at the CHI, UIST, and ICSE conferences.

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.


Speaker's Website
Brad Myers

Upcoming Events