A Browser-based Program Execution Visualizer for Learning Interactive Programming in Python

Author

Tang, Lei

Date

2015-04-23

Advisor

Warren, Joe

Degree

Master of Science

Abstract

Good educational programming tools help students practice programming skills and build better understanding of basic concepts and logic. As Rice University started offering free Massive Open Online Courses (MOOC) on the internet, we developed a web-based programming environment to teach introductory programming course in Python. The course is now one of the top-rated MOOC courses, which is believed largely due to the successful web-based educational programming environment. Here we will introduce the thought processes behind the design and then focus on the key innovations incorporated in it. The main contribution of this thesis is an entirely browser-based Python program execution visualizer that graphically demonstrates the execution information to help students understand the dynamics of program execution. Especially, this tool can also be used to visualize and debug event-driven programs. The design details and unit test infrastructure for the program execution visualizer are both introduced in this thesis.