The eduComponents team is pleased to announce the initial public
releases of ECSpooler 1.0.
ECSpooler is a Python XML-RPC service which provides automatic testing
of submissions for ECAutoAssessmentBox [1]. ECAutoAssessmentBox allows
students to submit their assignments via the Web at any time during the
submission period. A typical case are programming assignments, where
students have to submit programs. Submitted programs are automatically
checked and students get immediate feedback on whether their programs
are syntactically correct and yield the expected results.
When a student submits a program, it is first sent to ECSpooler.
ECSpooler manages a submission queue and several *backends*. Backends
provide syntax checking and testing for a specific programming language,
usually in conjunction with the corresponding compiler and/or
interpreter. The results of the tests performed by the backend are
immediately returned and are displayed by ECAutoAssessmentBox.
Backends
We have implemented backends for Haskell (using Hugs), Scheme (using
MzScheme), Erlang, Prolog (using SWI-Prolog), Python, and Java.
Backends can also be used to implement different approaches for testing:
For example, we have implemented one backend for Haskell which compares
the output of the student solution with the output of a model solution
for a set of test data, and, as an alternative, we have implemented
another backend for Haskell which uses QuickCheck [2] for testing based
on formal specifications of properties required for a correct solution.
However, ECSpooler only ships with a demo backend, Keywords, which
checks whether a submission contains certain keywords specified by the
creator of the assignment. We do not include other backends because,
when executing student code, you have to take security precautions,
e.g., by using chroot, jails, or systrace. These mechanisms are,
however, system-dependent, so we cannot include anything that runs out
of the box *and* is secure. Furthermore, paths to interpreters or
compilers vary across installations. If you are aware of the risks and
if you are able to deal with the configuration issues, we are happy
provide you with our backends on request.
Download
ECSpooler is licensed under the GPL and is freely available from:
<http://wdok.cs.uni-magdeburg.de/software/ecspooler/>
Footnotes:
[1] <http://plone.org/products/ecautoassessmentbox>
[2] <http://www.cs.chalmers.se/~rjmh/QuickCheck/>
--
Dipl.-Wirtsch.-Inf. Mario Amelung <[EMAIL PROTECTED]>
Otto-von-Guericke-University Magdeburg WDOK Research Group
_______________________________________________
eduComponents mailing list
[email protected]
https://listserv.uni-magdeburg.de/mailman/listinfo/educomponents