Re: Interesting problem looking for a solution.

*To*: mathgroup at smc.vnet.net*Subject*: [mg122053] Re: Interesting problem looking for a solution.*From*: Murray Eisenberg <murray at math.umass.edu>*Date*: Tue, 11 Oct 2011 04:22:59 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <3419157.43225.1318144358445.JavaMail.root@m06> <201110100826.EAA15289@smc.vnet.net>*Reply-to*: murray at math.umass.edu

Back when I was doing such things with student projects in Mathematica, I sure wish I had had use of David Park's HiddenNotebookData function from his Presentations application: it would have simplified doing a lot of things. (But not all, probably: if you want to test a students definition of a function on-the-fly against randomized input data, you need to hide a "correct" definition of that function as well as generation of the test data. At that point it may be just simpler to use a separate encoded package of the sort I described in another post on this topic. Doing this with a whole suite of student functions, each tested against a series of test data, would likely create so many strings from HiddenNotebokData that one would want to keep all that separate from the student's own notebook where she was developing and testing the functions.) On 10/10/11 4:26 AM, David Park wrote: > Gary, > > You will probably have to create your own array of functions from which you > can randomly pick. Also I am not going to go into generating the worksheets, > which I presume are Mathematica notebooks, because it is a bunch of fiddly > work in programmed writing of notebooks. > > However, the Presentations application has a routine that allows you to > generate graphs of functions, sometimes as a series of points but you can > also force them to be compressed into a gibberish looking string. > > For example: > > << Presentations` > > Clear[testplot1]; > HiddenNotebookData[testplot1, "function 1", > Compress@Draw[x Sqrt[x], {x, 0, 1}]] > > This generates the following Input cell in the notebook: > > testplot1 =<<function 1>>; > > This could be sent to the worksheet as an initialization cell. > If the student looks at testplot he will only see the compressed string > form, or a Line with points in uncompressed form. > > Then the worksheet could contain the following statement, which might be > built-in with perhaps the matching Draw statement initially missing. > > Draw2D[ > {(* Graph of test function to match *) > {Red, Uncompress@testplot1}, > (* Matching function graph generated by student *) > {Draw[x^2, {x, 0, 1}]}}, > Frame -> True] > > The student can then experiment with the matching function to attempt a > match. > > The HiddenNotebookData command is in the Writing/Manipulations/Other group > on the PresentationsPalette. > > > David Park > djmpark at comcast.net > http://home.comcast.net/~djmpark/ > > > From: Church, Gary [mailto:churchg at smccd.edu] > > > 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

**References**:**Re: Interesting problem looking for a solution.***From:*"David Park" <djmpark@comcast.net>