spy3: A Python Subset for CS1

John Aycock · 2023

Simple Python 3, or spy3, is a system for CS1 that filters students’ Python code and limits it to a subset of the Python language matching what is taught in the course. At the same time, spy3 provides improved error diagnostics for common novice problems, along with enhanced features for CS1 use, like the ability to see an execution trace of a running Python program. A web-based turtle graphics module added to spy3 made the system feasible for remote use by students, regardless of their computing device. We describe spy3’s features, its implementation, and our experience using it with a large introductory Python class.

Read the paper · More papers on PaperTik