CS Talk - Philip Guo

Event time: 
Tuesday, March 1, 2016 - 10:30am
BCT MC035, Becton Seminar Room See map
15 Prospect Street
New Haven, CT 06511
Event description: 

CS Talk - Philip Guo

Interactive Systems for Learning Programming at Scale

Host:  Holly Rushmeier

Coffee/tea - 10:15, BCT MC035


Computer programming is now a vital skill, but millions of people around the world struggle to learn it on their own without being able to get help from a human tutor. To address this significant access gap, I created Python Tutor (pythontutor.com), a pedagogical code visualization and social learning system. I then generalized Python Tutor’s visualization engine into a language-independent platform called Rosetta, which now visualizes code written in seven popular languages: Python, Java, C, C++, Ruby, JavaScript, and TypeScript.

So far, over 1.5 million people in over 180 countries have used Rosetta to visualize over 15 million pieces of code, making it by far the most widely-used system of its kind. This unique scale inspires new types of interactive systems for online learning, along with the ability to evaluate those systems on orders of magnitude more subjects than is possible in traditional lab studies.

This talk will describe the Rosetta visualization platform and two social learning systems built upon it: 1.) Codechella enables multiple people to simultaneously write code together, visually explore its run-time state using multiple cursors, and text chat to perform tutoring and collaborative learning. 2.) Codeopticon enables a single tutor to efficiently monitor dozens of learners as they are coding and then step in to offer proactive assistance. Taken together, these systems help people around the world learn programming even when they do not have access to scarce in-person tutoring resources.


Philip Guo is an assistant professor of computer science at the University of Rochester. His research spans human-computer interaction, online learning, and data science. To enable learning programming at scale, he created Python Tutor (pythontutor.com), a code visualization and social learning platform that has been used by over 1.5 million people in over 180 countries to visualize over 15 million pieces of code. Philip received S.B. and M.Eng. degrees in EECS from MIT in 2006 and a Ph.D. in Computer Science from Stanford in 2012. His Ph.D. dissertation was one of the first to create productivity tools for data scientists. Before becoming an assistant professor in Fall 2014, he built online learning tools at Google, edX, and MIT CSAIL. Learn more at www.pgbovine.net.