Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.soft-sys.math.mathematica > #16638 > unrolled thread

Re: What's in an expression?

Started byMurray Eisenberg <murray@math.umass.edu>
First post2014-03-11 07:16 +0000
Last post2014-03-15 07:54 +0000
Articles 4 — 3 participants

Back to article view | Back to comp.soft-sys.math.mathematica

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: What's in an expression? Murray Eisenberg <murray@math.umass.edu> - 2014-03-11 07:16 +0000
    Re: What's in an expression? Richard Fateman <fateman@cs.berkeley.edu> - 2014-03-12 07:29 +0000
    Re: What's in an expression? Murray Eisenberg <murray@math.umass.edu> - 2014-03-13 07:35 +0000
    Re: What's in an expression? Richard Fateman <fateman@berkeley.edu> - 2014-03-15 07:54 +0000

#16638 — Re: What's in an expression?

FromMurray Eisenberg <murray@math.umass.edu>
Date2014-03-11 07:16 +0000
SubjectRe: What's in an expression?
Message-ID<lfmd90$n70$1@smc.vnet.net>
One way, which doesn't involve looking at the form of the student's 
symbolic answer, is something employed by a at least one of the popular 
on-line homework systems: evaluate the "correct" answer at a number of 
judiciously chosen numerical values of x, evaluate the student's answer 
at the same values of x, and check that they're the same (within fuzz).

Otherwise, you may have to deal with a myriad of possible forms in which 
the student might submit an answer without actually doing what you want.
 
On Mar 10, 2014, at 4:38 AM, sam.takoy@yahoo.com wrote:

> Hi all,
>
> I'm building a little Mathematica system that checks answers entered 
by students. Suppose the question is "what is Sin'[x]?" ad the student 
responds: Sin'[x] which is "correct", but not the intended answer 
(Cos[x]). I'm wondering if there is a general way to approach this sort 
of problem. In particular, is there a way to find out whether a given 
expression includes certain elements (like Derivative)?
>
> Thank you in advance,
>
> Sam
>

Murray Eisenberg                                murray@math.umass.edu
Mathematics & Statistics Dept.      
Lederle Graduate Research Tower      phone 240 246-7240 (H)
University of Massachusetts               
710 North Pleasant Street                
Amherst, MA 01003-9305






[toc] | [next] | [standalone]


#16646

FromRichard Fateman <fateman@cs.berkeley.edu>
Date2014-03-12 07:29 +0000
Message-ID<lfp2di$mf$1@smc.vnet.net>
In reply to#16638
On 3/11/2014 12:16 AM, Murray Eisenberg wrote:
> One way, which doesn't involve looking at the form of the student's
> symbolic answer, is something employed by a at least one of the popular
> on-line homework systems: evaluate the "correct" answer at a number of
> judiciously chosen numerical values of x, evaluate the student's answer
> at the same values of x, and check that they're the same (within fuzz).

For some clases of expressions you can use elements of a finite field, 
in which case there is no fuzz.

This problem has been address at least as early as the 1960's.

There is
a major flaw in the logic behind the question.

Namely, it requires students to (a) derive the correct answer and then
(b) understand the computer syntax and type the answer into the computer 
correctly.

You probably want to test (a),  but you will also test (b).  In fact,
telling a student he/she is wrong, when they only error is a type-b 
error seems to me to be disheartening if not destructive.

If you sufficiently simplify the task, I suppose it becomes
simultaneously do-able and quite dull, and you can find a discussion by
dullards on stack-overflow.

Another possible flaw is that just typing the question in, and 
evaluating, should get the right answer without the student knowing it.

>
> Otherwise, you may have to deal with a myriad of possible forms in which
> the student might submit an answer without actually doing what you want.


>
> On Mar 10, 2014, at 4:38 AM, sam.takoy@yahoo.com wrote:
>
>> Hi all,
>>
>> I'm building a little Mathematica system that checks answers entered
> by students. Suppose the question is "what is Sin'[x]?" ad the student
> responds: Sin'[x] which is "correct", but not the intended answer
> (Cos[x]). I'm wondering if there is a general way to approach this sort
> of problem. In particular, is there a way to find out whether a given
> expression includes certain elements (like Derivative)?
>>
>> Thank you in advance,
>>
>> Sam
>>
>
> Murray Eisenberg                                murray@math.umass.edu
> Mathematics & Statistics Dept.
> Lederle Graduate Research Tower      phone 240 246-7240 (H)
> University of Massachusetts
> 710 North Pleasant Street
> Amherst, MA 01003-9305
>
>
>
>
>
>
>

[toc] | [prev] | [next] | [standalone]


#16652

FromMurray Eisenberg <murray@math.umass.edu>
Date2014-03-13 07:35 +0000
Message-ID<lfrn4s$7pe$1@smc.vnet.net>
In reply to#16638
State-of-the-art on-line homework systems eliminate most, if not all, of 
the type (b) difficulties: they allow the student to type an answer in 
essentially the same form they would write it on paper. The system then 
transforms the input into a standard form meeting a strict syntax. That 
syntax may be that of Mathematica, or another "computer algebra system", 
which can then use various means to compare the student's answer with a 
"correct" answer (and that "correct" answer will often be calculated 
on-the-fly, since the question may well be parametrized or have variant 
forms).

So the question does not really have as much a flaw as might be 
imagined. It all depends on whether the student is being exposed 
directly to using Mathematica syntax and whether the student has 
previously learned, or is contemporaneously learning, Mathematica for 
the sake of doing more interesting things than mechanical calculations.

On Mar 12, 2014, at 3:29 AM, Richard Fateman <fateman@cs.berkeley.edu> wrote:

> On 3/11/2014 12:16 AM, Murray Eisenberg wrote:
>> One way, which doesn't involve looking at the form of the student's
>> symbolic answer, is something employed by a at least one of the popular
>> on-line homework systems: evaluate the "correct" answer at a number of
>> judiciously chosen numerical values of x, evaluate the student's answer
>> at the same values of x, and check that they're the same (within fuzz).
>
> For some clases of expressions you can use elements of a finite field,
> in which case there is no fuzz.
>
> This problem has been address at least as early as the 1960's.
>
> There is
> a major flaw in the logic behind the question.
>
> Namely, it requires students to (a) derive the correct answer and then
> (b) understand the computer syntax and type the answer into the computer
> correctly.
>
> You probably want to test (a),  but you will also test (b).  In fact,
> telling a student he/she is wrong, when they only error is a type-b
> error seems to me to be disheartening if not destructive.
>
> If you sufficiently simplify the task, I suppose it becomes
> simultaneously do-able and quite dull, and you can find a discussion by
> dullards on stack-overflow.
>
> Another possible flaw is that just typing the question in, and
> evaluating, should get the right answer without the student knowing it.
>
>>
>> Otherwise, you may have to deal with a myriad of possible forms in which
>> the student might submit an answer without actually doing what you want.
>
>
>>
>> On Mar 10, 2014, at 4:38 AM, sam.takoy@yahoo.com wrote:
>>
>>> Hi all,
>>>
>>> I'm building a little Mathematica system that checks answers entered
>> by students. Suppose the question is "what is Sin'[x]?" ad the student
>> responds: Sin'[x] which is "correct", but not the intended answer
>> (Cos[x]). I'm wondering if there is a general way to approach this sort
>> of problem. In particular, is there a way to find out whether a given
>> expression includes certain elements (like Derivative)?
>>>
>>> Thank you in advance,
>>>
>>> Sam
>>>
>>
>> Murray Eisenberg                                murray@math.umass.edu
>> Mathematics & Statistics Dept.
>> Lederle Graduate Research Tower      phone 240 246-7240 (H)
>> University of Massachusetts
>> 710 North Pleasant Street
>> Amherst, MA 01003-9305
>>
>>
>>
>>
>>
>>
>>
>

[toc] | [prev] | [next] | [standalone]


#16657

FromRichard Fateman <fateman@berkeley.edu>
Date2014-03-15 07:54 +0000
Message-ID<lg10v4$51h$1@smc.vnet.net>
In reply to#16638
On 3/13/2014 8:02 AM, Louis Talman wrote:
> On Wed, 12 Mar 2014 01:29:00 -0600, Richard Fateman 
> <fateman@cs.berkeley.edu> wrote:
>
>> Namely, it requires students to (a) derive the correct answer and then
>> (b) understand the computer syntax and type the answer into the computer
>> correctly.
>
> While (b) is a source of student complaints, it isn't really the 
> problem you seem to think.  The students who have trouble with it are 
> precisely the ones who have trouble with algebra in the first place.  
> The machine merely enforces good syntax, whereas a human reader is 
> likely to be (inappropriately) forgiving.
>
> --Louis A. Talman
>   Department of Mathematical and Computer Sciences
>   Metropolitan State University of Denver
>
>   <http://rowdy.msudenver.edu/~talmanl>

Those darn students who are forced to pass calculus to graduate, but
hope never to use it (because they didn't really learn it), may be
the majority of the class. For them, you are burdening them with some
other apparently useless task.  Sad to say.  The good students are
not the problem.

I corresponded with Murray E off this list -- he contends (and I agree)
that it is possible to relax the rigidity of the syntax somewhat.
(for example, Wolfram Alpha is kind of loosey-goosey, as was Tilu,
a project of my own circa 2000)
  Whether this truly changes the dynamic for students, I am less sure.

It's been my feeling that the original motivation to force students to take
calculus is that it is nearly impossible to pass without knowing
algebra (as you say).  Similarly, it is possible that the motivation
to force people (usually engineering students) to take "sophomore
differential equations"  is to force them to know calculus, without
which it is hard to solve ODEs.
And what forces you to learn sophomore DE?  (The 13 recipes for ODEs,
10 of which types of ODEs you will never encounter again)?  So far
as I can tell, the only people who really learn this are the ones
who are forced to be teaching assistants or teachers.

Anyway, tying the learning of some math subject to use of some
computer program has been appealing to enthusiasts for over 40
years.  I wonder if anyone can point to a case where a student
has really been turned around by some computer adjunct to a math
course.  (e.g. a student evaluation that said,  "I came into this
course unprepared and expected to really hate it, but I have to
take it to graduate. The instructor was uninspiring. But the computer
lab was wonderful and I learned so much and I'm getting high grades
and now I want to be a math major..."  )

Reports on human factors experiments that I've seen
tend to show statistically that computer labs don't make much
difference, pro or con. So they may benefit instructors primarily,
who would like to use neat programs for the fun of it.



[toc] | [prev] | [standalone]


Back to top | Article view | comp.soft-sys.math.mathematica


csiph-web