[Seaside] Seriously demented multiple choice questions

Tim Rowledge seaside@lists.squeakfoundation.org
Wed, 19 Jun 2002 17:51:20 -0700

"Andreas Raab" <Andreas.Raab@gmx.de> is claimed by the authorities to have written:

> If you can give a use case (e.g., how your average community college
> teacher is supposed to design the entire course) I think it should be
> reasonable simple to figure out something. Simplest example: When you
> insert a variable, just double-click to get its properties (or have some
> property inspector open) which allows you to input a range here.
Ah, well one of the first restrictions I'm faced with is doing all this
in a web-browser. I'm rather assuming that means I'm stuck with a pretty
poor UI. Obviously it would be nice to do it in squeak directly, but I
don't think I can get away with that... hmm, well just possibly but
tricky. I just tried the plugin stuff from squeakland.org on my
powerbook/os-x machine with no luck whatsoever in either IE or netscape,
which doesn't fill me with confidence.

Ok, the basic scenario - teachers are intended to be able to create
questions and dump them in pools for later use. To create a test, they
get to choose questions from their pools (including 'free' ones from the
publisher, donated by other teachers etc) to assemble into said test.
Then they release them to a class of students. Students can take
practice tests several times and get to see how they did on each
question, or graded tests where they only get the final score. Obviously
one could use this system for any kind of subject matter where suitable
questions can be written. English Literature is probably a poor
candidate, accountancy is a good one!

All the basics are pretty easy with seaside so far; the hardest part has
been finding good info on what html I actually need to get out there to
produce the results I need. I _still_ can't get any useful effect from

Specifying a simple multiple choice question is relatively simple: I can
provide a text field to type in the question description (I'm allowing
arbitrary html for now to permit nice tables etc - this may be a mistake
but how else to allow anything better than trivial text?), several more
for the potential answers and a couple of tickboxes to mark the correct
answer and whether they can be randomly reordered. Oh, and another text
box for a 'helpful' comment during the post test review phase.

There is another variant currently implemented that has each of the
potential answers as a row in a table; for that I'm requiring a $| as
the column separator in each answer and just use the same UI (+ plus a
row for headings).

The next level of trickery is to allow alternative phrasing for any of
the potential answers (ie it could be 'this is foo' or 'this is a cash
account', both being considered the same meaning by the writer) with
random choosing of which to use.

Then comes the algorithmic form....

> You could use a "calculator approach", e.g., don't just give 'em text
> but a little calculator that shows them what they're typing. They'll
> notice the difference very quickly since calculators have strict
> left-to-right precedence rules.
That's an excellent idea. 

> Don't bother your teacher with text to begin with. Give 'em a simple UI
> and show the "generated code". As soon as they feel confident enough
> they'll switch to the code but up to that point you have to guide them.
> That's where context menus, property inspectors and similar are
> extremely handy.
Aside from the probable requirement to work in html, I have to worry a
bit about teaching how to use all this. After all, most people are used
to such awful software. And of course, squeak doesn't (yet) do a good
job of emulating 'normal' UIs. I've met with a few potential user
teachers of this stuff; anything new _terrifies_ them. Some of them
refused to believe my initial swiki based demo could be running on a
powerbook since it wasn't a box labelled 'Server'!

Hmm. I wonder if we really could get away with just delivering a squeak
app to do all the teacher side stuff. The good news is that the customer
is not at all biased against such an idea, even openly musing about
delivering the student side as a squeak app. 

Anyway, thanks for thinking about it.

Tim Rowledge, tim@sumeru.stanford.edu, http://sumeru.stanford.edu/tim
No line available at 300 baud.