Python Interpreter for School Assignments (PISA) is a free web-based Python interpreter (sometimes called a Python compiler) designed for educational purposes. PISA requires no installation or user accounts and features code revision history and Turtle Graphics.
Acknowledgements:
Skulpt: An entirely in-browser implementation of Python
CodeMirror: A code editor component for the web
Gruvbox: A retro groove color scheme for Vim
Tower of Pisa image edited from a png provided by Vecteezy: https://www.vecteezy.com/free-png/leaning-tower-of-pisa
Dear Fellow Educators,
In the Spring of 2025, I was asked to teach an introductory Python programming course entirely online. I built this website for that course to support academic integrity and student understanding.
To track my students' revision history on their assignments, I require that all work and drafts for each assignment be completed using the same file on this website. A revision is saved every time the student runs their code or clicks the 'Save' button. The revision history is stored in an encrypted format within the file downloaded from this website when the 'Save' button is clicked. To view the code and revision history, it must be uploaded to this website.
In my class, a significant portion of the grade for each assignment is based on the following criterion:
"Code history demonstrates meaningful engagement with the problem, such as through iterative problem solving, debugging attempts, and logical revisions."
Please note that you can view additional metadata regarding a file via Ctrl+Shift+/.
I hope this website is as useful to you as it has been for me.
***
Question: Why does my file look like gobbledygook?
Answer: You are likely looking at the raw text of the encrypted .pisa file. Be sure to use the 'Save' and 'Open' buttons above. You must use this website to view or edit your file.
***
Question: How do I save my revision history?
Answer: A revision is automatically saved once per minute as you write your code. The revisions will be stored within the .pisa file which is downloaded when you click the 'Save' button. To view revisions, upload a .pisa file which was previously saved from this website using the 'Open' button. Then, if you click the 'History' button, the revision history will appear in this output panel.
***
Question: Can I change the size of the code editor and/or the output panel?
Answer: Yes, click and drag on the bottom right corner of the editor or output panel. If you want to make the output panel larger, you may first have to make the essay editor smaller.