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?

```

• Prev by Date: Re: Question concerning MakeBoxes
• Next by Date: Re: Draw3D ColorFunction->Hue
• Previous by thread: Re: Timed Notebooks for Student Take-home examinations
• Next by thread: Re: Re: Re: Timed Notebooks for Student Take-home examinations