Code Visualization tools can help students better understand complex programming concepts like parameters, constructors, and recursion.
For many computer science educators, Python Tutor is a familiar name —Philip Guo’s wonderful resource has been around for almost a decade. During that time, “over five million people in over 180 countries have used Python Tutor to visualize over 75 million pieces of code.”
What does Python Tutor do?
Python Tutor is designed to help coding students learn exactly what happens as a computer runs each line of code. This process of code visualization allows coders to see, in real-time, the output of their code. Live Python visualization has been demonstrated to speed the Python coding learning process and to vastly improve performance in coding classes. Because Python Tutor exists online, anyone can learn to write code right in their web browser. The Python code visualization tool is designed specifically for classroom learning—the best tutor for Python is the coding instructor and student trial and error!
Why a Code Visualization Tool? Why Python Tutor?
Previous research has shown that students who interacted more with an earlier version of Python Tutor outside of class had statistically significantly higher midterm exam grades. Additionally, the use of the code visualizer outside of class was correlated with the students’ performance on unannounced quizzes.
A professor at UC Davis wrote, “I have students who are currently retaking the class in the summer session, since they dropped out in spring, when they were struggling. I can see from their reaction in class that this tool has literally been an eye-opener for them - it’s making a huge difference!”
One student posted, “This tool is particularly helpful when debugging recursive functions. I used it for the recursive unit at cs101 and it was a lifesaver.” Other students wrote that it was “exactly what I need to solve knotty python questions without cheating” and “exactly what I need to untangle lists and arrays.”
Program and code visualizations “can help beginners develop a viable understanding of the notional machine…[and have] the potential to help students avoid and overcome misconceptions about tricky programming concepts such as parameters, constructors, or recursion.” 
But, Do Students Actually Use Python Code Visualization Tools?
Yes! Sirkiä and Sorva’s 2015 ICER paper reports that “Most students used the [Python visualizer] throughout the course. Beginners used them somewhat more actively than non-beginners...Significantly, the students did not only use the [program visualizations] that were directly tied to a graded assignment.”
And the students aren’t just clicking through mindlessly. When moving through the steps of the Python code visualization “there are steps … where many students slow down. This suggests that a good number of students are paying attention and giving more consideration to certain animation steps than to routine ones. Informally, we observe that such collective slowdowns seem to happen in reasonable places, that is, at steps that are complex and/or pedagogically relevant.”
What makes Codio’s Python Tutor implementation different?
Our implementation of Python Visualizer is designed not only to improve your student’s learning efficiency—it’s designed to make course development and content authoring easier and more seamless for you, too!
Key Features of Codio’s Python Visualizer:
Natively embedded for easy content authoring
Turn off editing and pair it with an assessment
Make the code editable for students to use as a debugger tool
Pair with Codio’s audio element to create impactful demonstrations that you can scale (great for online learning programs)!
Visualizer exists in its own resizable window, which means you and your students can see everything at once.
To learn more about Codio’s Visualizer, schedule a call with a Codio team member who can walk you through the experience and give you tips on how to enhance your own materials with Codio’s platform and resources.
Click here for instructions on how to enable Visualizer to open automatically.
Below: Codio's Visualizer is enabled
Click here for instructions on how create links in Guides so that students can easily open and close Codio's Visualizer.
 Alvarado, C., Morrison, B. B., Ericson, B., Guzdial, M., Miller, B., & Ranum, D. L. (2012). Performance and use evaluation of an electronic book for introductory Python programming.
 Guo, P. J. (2013, March). Online python tutor: embeddable web-based program visualization for cs education. In Proceeding of the 44th ACM technical symposium on Computer science education (pp. 579-584). ACM.
 Ibid. (pp. 4-5)
 Sirkiä, T., & Sorva, J. (2015, July). How Do Students Use Program Visualizations within an Interactive Ebook?. In Proceedings of the eleventh annual International Conference on International Computing Education Research (p. 179). ACM.
 Ibid. (pp. 185-186)
 Ibid. (p. 185)