I somewhat implemented this idea before (but just with Ruby, so obviously a much smaller project.) At the time, one of my biggest to-dos was AJAX support, to allow two people (i.e. a teacher and student) to play with a piece of code together as if they were on the same machine, with either person being able to hit "re-run" at any time and both seeing the updated output. Then I started getting into the details of trying to create a shared interactive debugger, and it started to get out of my range of ability ;).
One suggestion for this, though, copied from something I did in my little project: provide another field (optional, perhaps hidden by default) for batch STDIN, so it doesn't crash on the sample here (a simple Ruby call to gets): http://codepad.org/xz0E5olm