[plt-scheme] automarking again
On Jan 12, Prabhakar Ragde wrote:
>
> It's still overkill for me. We have a working electronic submission
> system which my academic support staff understand. To use the handin
> server and client, I'd have to get students to install the plugin,
That's easy enough, you put it up on a web pages, and they either
click or enter a URL. As a bonus, there is also an auto-updater
facility that can be enabled so you can update this .plt file.
> run the PLT Web server,
You don't need to run the web server -- you put the right options in
the configuration file, and it starts both the submission part and the
embedded web-server part. If you don't even need the web server
part, you can just ignore it.
> and most importantly, understand how it all works so I can configure
> it,
The documentation even has a "quick start" section, and getting a
proper working configuration should not be difficult at all.
> adapt it to our peculiar local customs, and fix anything that goes
> wrong.
FWIW, it is under active maintenance (which I do), and it is general
enough to have survived a few courses with different styles of
homework submissions.
> Right now I have ways of getting student code into individual
> directories, one for each student, containing assignment directories
> and individual questions within them. I just need to run their code,
> with my tests, in the appropriate language level, and record the
> output.
>
> I've been looking at your utils.ss but I can only dimly understand
> bits of what it is doing. Threads seem to be involved, and
> namespaces, both of which I know very little about.
Reading through the source code is wrong if you just use it.
> I think I will try to wrap student code in a module declaration with
> requires to get me access to I/O. I thought I could build a sequence of
> arguments to mzscheme but it appears not. --PR
This is the kind of stuff that the submission checking code in
utils.ss is doing, it's a pity not to use it. You can even try to
read on the `check:' macro, use the macro stepper to see what it
expands to, then use similar code directly on a file.
On Jan 12, Robby Findler wrote:
> Maybe the handin server is the right place to start to build a library
> of functions for things like what PR is trying to do?
It's mostly there -- the interface that util.ss provides requires some
port, it should be possible to write some relatively easy code that
uses it with plain files.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://www.barzilay.org/ Maze is Life!