Learning Programming at Scale

BIDS Data Science Lecture


May 15, 2018
3:00pm to 4:00pm
190 Doe Library
Get Directions

Computer programming is a vital technical skill that prepares people for careers in a wide variety of fields ranging from software engineering to data science to public policy. Although traditional schools are ramping up computing education efforts, the vast majority of people around the world who want to learn to code do not have access to high-quality classroom instruction. Thus, the only way to bring programming knowledge to a sizable portion of the world's population is to develop and deploy scalable online systems. In this talk, I will present a series of such systems built upon a code visualization and peer tutoring platform called Python Tutor (http://pythontutor.com/) that I have been developing since 2010. So far, this platform has been used by over 3.5 million people in over 180 countries to visualize over 50 million pieces of code in languages such as Python, Java, JavaScript, Ruby, C, and C++. Thousands of people each month use it to receive free tutoring from volunteers around the world. The platform also serves as a rich substrate for running empirical studies of learning at scale. In sum, this work points toward a future where millions of people can receive some of the benefits of face-to-face classroom instruction without being present in person.


Philip Guo

Assistant Professor, Cognitive Science
UC San Diego

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, online learning, and computing education. He currently focuses on building scalable systems that help people learn computer programming and data science. Philip is the creator of Python Tutor (http://pythontutor.com/), a code visualization and collaborative learning platform that has been used by over 3.5 million people in over 180 countries to visualize over 50 million pieces of code. 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 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.