To my previous response I should add that my colleagues and I at UMass
Amherst had been doing what you ask, and more, some 20years ago (or
earlier) -- first with APL, later with J, and eventually with Mathematica.
Part of what we did was to create problem "validators": the package not
only presented the student with parametrized test data (much as on-line
homework systems do these days) but then taking the student's answers,
running them against solutions calculated on-the-fly by the package for
the particular data, checking to see if the student's answer was
correct, and reporting the results back to the student.
In what we were doing, typically the student obtained an answer by
writing and applying to the test data a function, or a little suite of
functions (e.g., to do Gauss-Jordan row-reduction).
Eventually, we even got to a meta-preparation phase: a program that
would automatically create such validators. The instructor merely
supplied the various functions to create the test data and to calculate
the correct answers from that, and the meta-program assembled all that
into the needed package. (I think we never bothered to do the
meta-program for Mathematica, but we definitely did it with APL and
probably J as well.)
Of course one can wonder whether today the effort into doing such things
on one's own is worthwhile: that's a place that on-line homework systems
excel. The infrastructure is already all there.
On 10/9/11 3:52 AM, Church, Gary wrote:
> Hello,
>
> I have an (I think) interesting problem for you Mathematica gurus.
>
> I'm trying to create a worksheet for my students and want to be able to display the plot of a randomly generated function f[x], without them being able to access the expression which defines f; In other words, I don't want them to be able to evaluate f[x].
>
> The idea is that each student will get a different function f[x] and will see a different graph and they have to determine the expression which defines f. They then have to plot the function they think is f against the actual function f[x] and turn in the two plots (or the one plot with the two graphs.)
>
> Is this possible?
>
> Thanks much,
> Gary
>
--
Murray Eisenberg murray at math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower phone 413 549-1020 (H)
University of Massachusetts 413 545-2859 (W)
710 North Pleasant Street fax 413 545-1801
Amherst, MA 01003-9305