Re: Re: Timed Notebooks for Student Take-home examinations

*To*: mathgroup at smc.vnet.net*Subject*: [mg60392] Re: [mg60368] Re: [mg60289] Timed Notebooks for Student Take-home examinations*From*: "W. Craig Carter" <ccarter at mit.edu>*Date*: Thu, 15 Sep 2005 05:16:14 -0400 (EDT)*References*: <200509101046.GAA01781@smc.vnet.net> <200509140727.DAA26642@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Thanks everyone, for all the advice, but I should clarify. What I wish to have is a notebook template that the student would take less than 3 hours to complete. The student would be told, "you should read the sections in the Help Browser on, (say), Thread and Nest prior to the exam." The assignment would require the student to write simple Mathematica routines and functions, and would be judged on cleverness and the "elegance" of the solution. For example, a question that might take an hour would be, "Suppose that the interaction between two atoms in a solid is V[r] = a/r^6 + b/r^12, calculate the equilibrium separation of atoms, calculate their vibration frequency, using Boltzman statistics produce a graphic that represents the density of states as a function of temperature." Thus the forms of the solutions are not fixed, but must be created by the student. The exams would be graded comparatively. And so, I am thinking along these lines. 1. A package, say TakeHomeExam, would be created which could be encoded and with hidden variables. 2. The package would have an--also encoded---init.m which would produce a string as the first line of the notebook via something like: Encode[ToString[Date[]],"foo.m", "instructors_key"]; Print[Get["foo.m","instructors_key"]] 3. Unfortunately, I don't see anything like "exit.m" so I would require the student to finish the exam with a function from the package, say FinishExam, which would do something like: FinishExam := Module[{},Encode[{?Global`*,SessionTime[],Date[]}//ToString,"foo.m","instructors_key"],Print[Get,"foo.m","instructors_key"] Thus I might be able to decode and test the exam for "fairness" with my own private "instructors_key" It's unfortunate that I must use file i/o, but I don't see a simple way around that. I do see that students would be able to seek expert help, or copy, but I am willing to live with that. I haven't tried to implement this---I am sure there will be some problems. I was thinking that somebody else might have tried something similar (or someone at Wolfram might see the benefit of such a package and create one...) Thanks again, Craig On Wed, 14 Sep 2005, Igor Antonio wrote: > I'm probably misunderstanding something, so correct me if I'm wrong: > > the package would reside on the student's computer and it would generate > a notebook for the student to complete. At the time the student > "requests" the notebook from your package, you write an encoded string > to the notebook itself that basically assigns it a timestamp. Then the > student would upload/send you that notebook and you would decode that > string? (encoded string + time of upload = time spent) Is that the idea?

**Follow-Ups**:**Re: Re: Re: Timed Notebooks for Student Take-home examinations***From:*Murray Eisenberg <murray@math.umass.edu>

**References**:**Timed Notebooks for Student Take-home examinations***From:*"W. Craig Carter" <ccarter@mit.edu>

**Re: Timed Notebooks for Student Take-home examinations***From:*Igor Antonio <igora@wolf-ram.com>

**Re: Question concerning MakeBoxes**

**Re: Draw3D ColorFunction->Hue**

**Re: Timed Notebooks for Student Take-home examinations**

**Re: Re: Re: Timed Notebooks for Student Take-home examinations**