I am emailing the Maxima list to announce the STACK project.
This is a "System for Teaching and Assessment using a Computer
algebra Kernel". Basically, I have been writing a PHP-based
computer aided assessment system with maxima in the background for
CAS support. This means that the student has to provide their own
answer, and this is assessed using CAS. So it is objective
without the problems of multiple choice questions.
The stack system is modelled on AiM which we have used in the University
of Birmingham Mathematics department since 2000. AiM uses Maple, and I've
used maxima instead to provide a totally open source system. Earlier in
the year I emailed the list, to talk about using Maxima in this way, and
from other emails on the list about the API, it seems there is interest in
this sort of thing from others. You can see what has been done so far on
http://eee595.bham.ac.uk/~stack/
There are really two tools here
(1) A "chat" session. This displays LaTeX text, in which a
restricted subset of CAS commands can be embedded, between @'s
(like LaTeX $'s). These are executed when the string is displayed.
This basically demonstrates maxima "online". This kind of text
is also used when setting the questions, and providing feedback
etc.
(2) The CAA system itself. This is a platform for writing mathematical
questions and setting them as quizzes to students. You don't need to hard
wire questions into code, but can author them yourself online (of course
there is no way they can be saved into the demo database). You can try
some demo questions, and also edit and play with copies of the source code
online to adapt them. I know from experience, everyone has preferences
when it comes to giving feedback to students!
The quiz section is something I'm still working on. By Easter
next, I hope to have the stack questions inside the Moodle
(http://moodle.org/ ) VLE.
The CAS is used in such a way that it should be easy to put Maxima
into other web-based applications if there is a will to. I shall
release all the code under the GPL through sourceforge. The
project name is "stack".
I would very much appreciate input from others in the Maxima
community with this project.
I confess that the way I have hooked up Maxima to PHP is not nice.
As one Maxima developer commented earlier in the year I have
perpetrated a "kludge on the command line". Without an API what
other option is there? I would really appreciate advice here
from others.
Please do let me know what you think. Is anyone else interested
in working on something like this? Is anyone working on something
similar?
Regards
Chris Sangwin