Dynamic, Randomizable, Autogradable Visual Programming Simulations for Python Using Prairielearn
This program is tentative and subject to change.
In this poster, we debut a web-based program visualization tool in Prairielearn, based on the visual language of Online Python Tutor. The frontend interface allows users to create program visualizations based on Python code snippets through direct interaction with virtual elements in an interactive and accessible system and automatically evaluate the correctness of their visualization. The backend allows instructors to customize problem generation files to make unique problems with unique rules for code randomization and for grading.
Computer science educators have used program visualizations to enhance computer science education for decades. Interactive programs visualizations, or visual program simulations (VPSs), are more rarely included in computer science coursework due to the degree of difficulty involved in creating and grading VPS assessments. Automated VPS assessments for various programming languages exist but can be difficult for instructors to easily integrate into their course curriculum. We implement a new VPS tool for educators in Prairielearn to increase integrability and accessibility of VPS assessments in Python.