Most people who write computer programs today are not CS majors or professional software engineers. Tens of millions of people such as computational researchers, business analysts, data scientists, and statisticians write programs on demand to discover insights from data. Throughout the past few years, I have studied this large and growing class of nonprofessional programmers and developed tools to support their unique workflow.
This talk presents three such tools: 1.) Proactive Wrangler is a mixed-initiative end-user programming tool that alleviates the tedium of cleaning and reformatting data. 2.) Burrito is an experiment management and note-taking system that serves as a virtual lab assistant. 3.) Online Python Tutor is a Web-based program state visualizer that over 200,000 people have used as a supplement to learning on demand from digital textbooks, Web-based tutorials, and MOOCs. I will conclude by outlining my future research plans at the convergence of HCI, end-user programming, and online learning technologies.
Philip J. Guo received a Ph.D. in Computer Science from Stanford University in 2012 and S.B. and M.Eng. degrees in Electrical Engineering and Computer Science from MIT in 2006, winning the annual department master’s thesis award. His research passions span the areas of HCI, software engineering, and learning technologies. His papers have won two Best Paper awards at software engineering conferences and Honorable Mention at CHI 2009.
In addition to publishing papers, Philip loves creating software and writing online articles that impact hundreds of thousands of people. In 2012, he wrote “The Ph.D. Grind” (www.phdgrind.com), a free e-book that is the first known detailed account of an entire Ph.D. experience; over 100,000 people have downloaded this e-book so far. Visit www.pgbovine.net to learn more!