Re: Re: More /.{I->-1} craziness

*To*: mathgroup at smc.vnet.net*Subject*: [mg106589] Re: [mg106555] Re: More /.{I->-1} craziness*From*: "David Park" <djmpark at comcast.net>*Date*: Sun, 17 Jan 2010 07:12:26 -0500 (EST)*References*: <200912300915.EAA17299@smc.vnet.net> <hhhmn8$o9t$1@smc.vnet.net> <hhpl28$9lf$1@smc.vnet.net> <hip8gf$t4d$1@smc.vnet.net> <8304354.1263643340634.JavaMail.root@n11>

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.