The following Great Innovative Idea is from Philip J. Guo, Assistant Professor in the Department of Computer Science at the University of Rochester. Philip recently attended the Computing Community Consortium Computer-Aided Personalized Education Workshop in Washington, DC and presented his work on Python Tutor.
The Innovative Idea
This tool has already had worldwide impact. So far, over 1.5 million people from over 180 countries have used Python Tutor to collectively visualize over 13 million pieces of code! Learners have used it when taking MOOCs (Massive Open Online Courses), studying digital textbooks, and in traditional K-12 and college classes. The tool’s users come from all age groups; 1/6 of users are over 55 years old. As computer programming becomes an even more vital skill across more fields in the future, the impact of this tool will continue to grow.
My main research interest is in building, deploying, and evaluating tools for learning programming at scale. In the past year, my students and I have built three new social learning systems on top of Python Tutor: 1.) Codechella enables multiple people to join a single Python Tutor visualization session to engage in real-time tutoring and peer learning. 2.) Codeopticon enables a single tutor to monitor dozens of learners coding in real-time and then jump in to offer timely, targeted, and proactive help. 3.) Codepourri enables a crowd of volunteer learners to collectively create coding tutorials by annotating Python Tutor visualizations. Read this blog post for more details on these tools and links to the corresponding research papers: http://radar.oreilly.com/2015/08/learning-programming-at-scale.html
I am currently an assistant professor of computer science at the University of Rochester. My research focus is at the intersection of human-computer interaction and online learning. Before becoming a professor, I developed online learning tools at Google, edX, and MIT CSAIL. Even earlier, as an undergraduate and master’s student at MIT and a Ph.D. student at Stanford, I began my career by researching topics in programming languages and software engineering.
- Python Tutor website: http://pythontutor.com/
- Philip Guo’s academic home page: http://pgbovine.net/academic.htm
- Learning Programming at Scale (a summary of Python Tutor related research projects): http://radar.oreilly.com/2015/08/learning-programming-at-scale.html