Students will never be learning Mathematica early and be reasonably
proficient with it before they get to college? I beg to disagree. It will
happen because as a tool for studying, developing and communicating
technical material Mathematica is orders of magnitude better than existing
practice. Students who don't learn it, and institutions that don't exploit
it will just fall too far behind.
The education problem is a difficult problem to be solved, but it can be
solved and it will be solved one way or another.
Tony, I wish I could convince you to take a more positive approach to
Mathematica. It is not a perfect instrument but through the ages masterworks
have been produced with imperfect instruments. It's shortcomings are not
nearly as important as what you CAN do with it. Nor is it a static
instrument.
The problem for all of us is to keep learning how to use it. It does pay
off.
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/
From: AES [mailto:siegman at stanford.edu]
And one or two other responses in this thread have suggested that users
should be given advanced training in the functioning and fine details of
ReplaceAll before they even begin to use Mathematica.
This latter proposal strikes me as a really crazy proposition, and
essentially impossible in the real world.
Suppose an instructor of EE or physics undergraduates in an already
crammed and time-limited introductory network analysis or mechanics
course starts by going through some simple phasor analyses of linear
electric circuits or coupled mechanical systems with one or two
resonances "by hand".
Then, as take-home exercises, the students are asked to analyze and plot
some 3 or 4 or 5-resonance cases using Mathematica and Manipulate (which
can be a very pleasant as well as educational experience) -- but to do
this the students first have to have a training course on Mathematica at
the level suggested above? Not gonna happen.
Or, as a broader approach, suppose that training in Mathematica at this
level is going to be expected or required (before or after admission) of
all incoming college students who might go into any Mathematica-using
field of study, before they can take meaningful courses in that field?
Not gonna happen.
In any case, waking up this morning after reading 60 or 70 posts in this
thread last night I realized that in 20+ years of using Mathematica I've
always had a mental model of ReplaceAll as being essentially an
**editing** tool, rather than a "mathematical" tool (whatever
interpretation you might give to mathematical in that phrase).
When I typed in f = expr /. rule, I expected that rule would be applied
to expr as I originally typed it in -- or, better, to expr as
Mathematica played it back to me in an Output cell when I typed it in
earlier (very hard to argue with this latter interpretation, is it
not?). Only then would that edited version of expr be evaluated and
assigned to f.
Isn't this more or less how the Find and Replace All capabilities
function in every other ordinary software program known to man?
(And isn't it how the construct /. almost always in fact functions,
regardless of what internal shenanigans Mathematica goes through in
processing it?)
And as a final query: Is there a formal name in Mathematica for the
string of characters that one types in and then sees in an Input cell
before (and after) one hits the Enter key? Referring both to this
character string and to the internal representation of this input string
inside Mathematica as an "expression" -- in fact, the same expression --
is certainly a recipe for confusion, in debate and in understanding.