MathGroup Archive 2005

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

Search the Archive

Re: Re: Re: my wish list for Mathematica next major version

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]
>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]}
>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
>From: carlos at [mailto:carlos at]
To: mathgroup at
>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
Department of Mechanical Engineering
Phone: 410 455 8134

  • Prev by Date: Re: Re: Re: my wish list for Mathematica next major version
  • Next by Date: Re: DSolve problem
  • Previous by thread: Re: Re: Re: my wish list for Mathematica next major version
  • Next by thread: Re: Re: Re: my wish list for Mathematica next major version