Re: Re: Re: my wish list for Mathematica next major version
- To: mathgroup at smc.vnet.net
- Subject: [mg60094] Re: [mg60077] Re: [mg60064] Re: my wish list for Mathematica next major version
- From: Pratik Desai <pdesai1 at umbc.edu>
- Date: Fri, 2 Sep 2005 04:32:58 -0400 (EDT)
- References: <200509010613.CAA08845@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
David Park wrote:
>It is interesting to hear what things bother students because that is
>important information.
>
>I'm not certain that a debugger is the best solution. Rather, I suspect that
>students have not learned well enough how to use Mathematica.
>
Hi David,
In most cases in the (atleast in the) engineering curriculum rarely
offers courses particularly focussed on learning a language or a
package. The student is expected to learn the language/package as he
uses it in the course. So any little help at the earlier stages goes a
long way in determining the success of the students ability to master
the package/language and indeed the course material. Althought the
tutorial offered by mathematica is quite good, essentially more
interactive tutorials could go a long way in helping students learn
Mathematica the right way. But on the flip side of the coin, I have
learnt a lot about mathematica just trying debugging messages and
understanding the output, and sometimes has even helped me figure out
conceptual errors in my approach.
Best regards
Pratik Desai
PS: Thank you for calling my attention to Dialog.....pretty neat
> Specifically
>they should learn that it is an interpreted language and not a low level,
>compiled language like C. There are certain prices to pay in having an
>interpreted language, but there are also certain benefits and easy
>development of routines and calculations is one of them.
>
>When users get into trouble they are often trying to do too much at once. I
>usually develop a calculation one step at a time and look at the output. It
>is not always what I was expecting. One can put a number of steps together
>in ONE cell, each step on a separate line. Then examine the output, make
>corrections and reevaluate. If I'm satisfied that certain steps are working
>correctly I suppress the intermediate output with a semicolon. When that
>works I usually construct a routine.
>
>If I have trouble with a routine, usually in the form of a Module, I insert
>Print statements to print a location and values of variables at that
>location. If I want to stop at a location I insert Print[...]; Abort[].
>
>However, your posting roused me to further investigate the debugging
>facilities of Mathematica. I discovered there is something very close to the
>debugger that you want. It's called Dialog. It allows you to stop at a given
>point, look at the values of various variables, and continue on.
>
>Here is a simple example:
>
>foo[x_] :=
> Module[{y, z},
> y = x^2Mod[3, x];
> z = Sin[y];
> Dialog[DialogSymbols :> {xx = x, yy = y, zz = z, xmod = Mod[3, x]}];
> y + z]
>
>Evaluating
>
>foo[5]
>75 + Sin[75]
>
>
>opened a Dialog, but the result was not yet present. (This is just a
>horizontal line in the notebook where you can type commands. You could open
>a new blank notebook and type the commands there.) Then entering
>
>{xmod, xx, yy, zz}
>{3, 5, 75, Sin[75]}
>
>Entering
>
>Return
>
>exits the Dialog and completes the evaluation of foo[5], which appears after
>the foo[5] Input cell.
>
>If you have several debugging dialogs you can use the option DialogProlog :>
>Print["point1"] to print the location of the particular Dialog.
>
>So, why isn't that a fairly good debugger?
>
>David Park
>djmp at earthlink.net
>http://home.earthlink.net/~djmp/
>
>
>
>
>From: carlos at colorado.edu [mailto:carlos at colorado.edu]
To: mathgroup at smc.vnet.net
>
>
>I fully agree with the first item. Each year I normally teach
>3 engineering courses (2 graduate, 1 undergraduate)
>that use Mathematica as one of the tools for problem
>solving. Typical undergraduate enrollment: 80-100,
>graduate: 35-50, so it is not a tiny sample.
>
>By far the 3 biggest complaints heard year after year:
>
>1) Incomprehensible and untraceable error messages.
>2) Lack of a simple debugger. Doesnt have to be GUI or
> incremental. Anything is better than nothing.
>3) Lack of effective interrupts. If user commands a stop,
> stop instantly, wherever you are in a cell, and tell
> user exactly where it did.
>
>These are largely beginner users, not difficult to please.
>For 1) they would be ecstatic with a low-tech device
>called a line number.
>In[] and Out[] baffle beginners since they are dynamic.
>Since they serve no useful purpose, as a teacher I would
>be very happy to see that 1980's anachronism removed,
>and replaced by invariant markers.
>
>
>
>
>
>
--
Pratik Desai
Graduate Student
UMBC
Department of Mechanical Engineering
Phone: 410 455 8134
- References:
- Re: Re: my wish list for Mathematica next major version
- From: "David Park" <djmp@earthlink.net>
- Re: Re: my wish list for Mathematica next major version