Hello Brian,<br><br>I do not teach (much to my regrets) but I have been thinking about what you describe.<br>See below.<br><br><div><span class="gmail_quote">On 12/14/06, <b class="gmail_sendername">Brian Blais</b> <<a href="mailto:bblais@bryant.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
bblais@bryant.edu</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hello,<br><br>I have a couple of classes where I teach introductory programming using Python. What
<br>I would love to have is for the students to go through a lot of very small programs,<br>to learn the basic programming structure. Things like, return the maximum in a list,<br>making lists with certain patterns, very simple string parsing, etc. Unfortunately,
<br>it takes a lot of time to grade such things by hand, so I would like to automate it<br>as much as possible. </blockquote><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I envision a number of possible solutions. In one solution, I provide a function<br>template with a docstring, and they have to fill it in to past a doctest. Is there a<br>good (and safe) way to do that online? Something like having a student post code,
<br>and the doctest returns. I'd love to allow them to submit until they get it, logging<br>each attempt.</blockquote><div><br>I may have a partial solution. I (co-)wrote a program called Crunchy (<a href="http://crunchy.sf.net" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
crunchy.sf.net</a>) which, among other features, allow automated correction of code that has to satisfy a given docstring. As it stands, it only allows self-evaluation i.e. there's no login required nor is the solution forwarded to someone else. (This has been requested by others and may, eventually, be incorporated in Crunchy.) So, as a tool for learning, it's working; the grading component is simply not there. However, the code is open-source and you could adopt it to your needs ;-)
<br><br>André<br> </div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Or perhaps there is a better way to do this sort of thing. How do others who teach<br>Python handle this?<br><br><br> thanks,<br><br><br> Brian Blais<br><br>--<br>-----------------
<br><br> <a href="mailto:bblais@bryant.edu" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">bblais@bryant.edu</a><br> <a href="http://web.bryant.edu/%7Ebblais" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://web.bryant.edu/~bblais</a><br>_______________________________________________<br>
Edu-sig mailing list<br><a href="mailto:Edu-sig@python.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">Edu-sig@python.org</a><br><a href="http://mail.python.org/mailman/listinfo/edu-sig" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mail.python.org/mailman/listinfo/edu-sig</a><br></blockquote></div><br>