[Edu-sig] Interactive tutorial

Brent Burley Brent.Burley@disney.com
Fri, 08 Jun 2001 10:33:59 -0700


Chris Meyers wrote:
> Here's an idea. How about a cgi web page that delivers the
> explanations and maybe the code that needs correcting. The cgi
> program is written in Python of course. It would take the users
> correction and "eval" it, returning either the answer or an error
> message (capturing any errors traps and stdout). That way people
> could play with Python without actually going thru the installation
> process.

I like that idea.  How about this variation:

The lesson text is an ordinary html doc.  In fact, Jeff's text could be
used as is; it would merely be augmented with a bunch of "try it" links
(a little icon of some sort would be nice).  These would be linked to
exercises that would come up in a frame below the main document.  These
forms could have anything in them, but would at a minimum have a text
area initialized with a python code fragment and an <Evaluate> button
which would evaluate the code and place the results in the same frame. 
If you make a mistake, just click the back button, edit, and
re-evaluate.

The python evaluation would be done by a server which could be running
anywhere, even on the local machine.  How about a server that's running
on the teacher's machine?  It could write to a log window every time a
student submits some code so the teacher can see how everyone is doing. 
The public python server could be useful for other purposes as well.  It
could for example provide access to a number of different python
versions to allow people to try out new features, compare performance,
etc., without having to download and install anything.

I'm not sure how to deal with the fact that the url for the python eval
server needs to be hard-coded into the lesson forms.  If there were a
well-known, reliable server, hard-coding the url might not be so bad. 
Anyone have any ideas on how to make the server url configurable?

Any volunteers for running the python eval server?  How about
www.python.org/cgi-bin/eval/python<version> ;-) ?

	Brent