I teach an intro coding class and for years I’ve been using RUR-PLE for a couple weeks introduction to Python before moving into a more general Python IDE. RUR-PLE has fit my needs great, but the desktop version is Windows only and the web version is needlessly complex for students.
So I wrote a web based version that works the way I want it to work, adding in some features that I’d wished the desktop version had.
If you just want to give it a try, it’s live at https://duckcoding.anvil.app/
Basic instructions are the same as the desktop version of RUR-PLE: move, turn_left, pick_beeper, put_beeper, turn_off. The toolbar buttons all have tooltips that describe what they do.
Local storage (via Anvil Extras, thanks!) is used to auto-save the current state of the code and world at all times so a browser crash or accidentally closing the IDE tab won’t lose any work.
Here’s the clone if you’re interested in how anything was done: Anvil | Login
Things that I was not able to get working:
-
Highlighting the currently running line of code. Skulpt doesn’t have the traceback support needed to get the line number of the currently running line of code.
-
Being able to stop a program with an infinite loop that doesn’t involve any of the built-in commands. Timers don’t fire unless they can get some processing time, and an infinite loop that doesn’t use any of the built-in commands doesn’t give them any (the built-in commands use sleep to yield processing time regularly).
I’m hopeful that #1 will be added to Skulpt at some point. #2 would be nice, but browsers will prompt about a non-responsive web page eventually.