MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

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