[Edu-sig] DocTest Quiz

Winston Wolff winstonw at stratolab.com
Tue Apr 25 08:00:43 CEST 2006

I have built a system very similar to this idea for my video game  
programming courses.  I have a small application that runs a cherrypy  
web server.  There is just one button that opens a web browser to the  
start page.  Each page can be one of:
	- A regular page with text on it.
	- A multiple choice quiz
	- A page that describes a problem to solve, and opens a piece of  
sample Python code in my simplified Python IDE (MakeBot).  On that  
page, is also a TEST button that runs test code on whatever the  
student has changed in the sample code.

My system hides the test code, but DocTest would probably work very  
well for many Python situations.  I have noticed though that some of  
my students will focus more on what the test is doing than what the  
problem is.  So I've started hiding what the test is actually testing  
so they have only the clues of my instructions and green OK or a  
general description of the error in red.

The interesting thing is that each page in cherrypy is just a Python  
object, so a test page can do anything that Python can do.  For  
another course in interactive fiction (text adventures/MUDs) I  
started writing tests that would telnet into the MUD and interact  
with the student in the MUD universe.  Anything testable with Python  
like computers simulations of physics or biological phenomenon could  
be incorporated into the tutorial, not just programming.


On Apr 23, 2006, at 11:02 PM, Michael Tobis wrote:

> Andre, I agree with your summary, and I don't think you went wrong  
> in any way.
> I am simply saying that the first approach is much easier than the
> second and raises far fewer issues, probably with the proviso that the
> tests themselves must be trusted.
> The design I am proposing is responsive to a conversation I had with
> Jeff at PyCon, and to the "goal" that is described on this page
> http://dc.ubuntu-us.org/projects/doctest-quiz.php
> but is admittedly not responsive to the "requirements" on the page.
> What I'm raising here is the possibility that the "goal" does not
> imply the "requirements".
> Because Jeff's users are high school students involved in a year-long
> exploration of Python, I presumed that they are developing code on the
> client, not the server. Therefore Python is installed and therefore a
> specialized client could also be installed.
> Perhaps I misunderstood, though.
> Jeff, could please clarify the nature of the use cases that you
> envision in the near term? Do you have some case where running the
> tests on the client would not work?
> mt
> _______________________________________________
> Edu-sig mailing list
> Edu-sig at python.org
> http://mail.python.org/mailman/listinfo/edu-sig

winston wolff - (646) 827-2242 - http://www.stratolab.com
learning by creating - video game courses for kids in new york

More information about the Edu-sig mailing list