log in  |  register  |  feedback?  |  help  |  web accessibility
Logo
Interactive Systems for Learning Programming at Scale
Tuesday, December 8, 2015, 11:00 am-12:00 pm Calendar
  • You are subscribed to this talk through .
  • You are watching this talk through .
  • You are subscribed to this talk. (unsubscribe, watch)
  • You are watching this talk. (unwatch, subscribe)
  • You are not subscribed to this talk. (watch, subscribe)
Abstract

Computer programming is 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 tutor. To address this access gap, I created a pedagogical code visualization system called Python Tutor (pythontutor.com). I then generalized Python Tutor's visualization engine into a language-independent platform called Rosetta, which now visualizes code written in 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 13 million pieces of code. This unique scale inspires new types of user interfaces for online learning, along with the ability to evaluate those interfaces on orders of magnitude more subjects than is possible in 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 execution 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.

Bio

Philip Guo is an assistant professor of computer science at the University of Rochester. His research spans human-computer interaction, online learning, software engineering, and data science. To enable learning programming at scale, he created Python Tutor (pythontutor.com), a code visualization and social learning platform that over 1.5 million people in over 180 countries have used to visualize over 13 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 2014, he developed online learning tools as a software engineer at Google, a visiting researcher at edX, and a postdoc at MIT CSAIL.

This talk is organized by Mike Hicks