From: Richard F. <fa...@gm...> - 2022-01-14 20:57:24
|
This is going to wander quite a bit from the original question, but here goes. We see proposed usages like Eduardo's from time to time, and there are more or less a bunch of questions that come up, especially in the context of enthusiastic teachers assuming technology is good for the students. So here are some thoughts. 1. It is possible to use Maxima and similar programs as essentially typesetting assistants. That is you type something in, and you get something displayed. The fact that you type in a+x and it displays x+a is unacceptable, and so you start on workarounds. Some people use "a+x" or turn off simplification etc This can work, but it MAY miss a significant point or two. These have come up previously, and the answers are kind of squirmy. 2. what part of your curriculum is 'students learn the input syntax of a computer algebra system'; 'students become proficient in typing mathematics [on a phone:? on a keyboard?] 3. And if a student asks, 'Is this going to be on the final?' you might have to say, no, there will be no computers then. 4. Beyond the input syntax issue, there is 'what does it mean to evaluate/substitute/simplify ... in the context of a computer algebra system? Is this on the final? 5. if a computer can do differentiation, integration, solve equations, plot functions... why should I have to do this? Isn't this showing that this course is even more unimportant that I thought? When I taught a calculus+ computer algebra course many years ago, the students were far more curious about how the computer did the integration problems than anything else. These were high-end students though. Low end students will, most likely, want to get a passing grade in calculus with the least effort, and then will thoroughly forget whatever material they absorbed. They may also be inclined to cheat, especially when examinations are so hard to proctor over zoom. If (as is the case with many schools) there is a student survey after the class is over, how will students react to questions about the additional material? They have enough trouble with understanding what a "function" is, without being confused by computer languages and such. So they may give the instructor (you...) a low rating. There is a scant literature on this, and I haven't looked at it in some years, but when the question is posed as to whether students learned calculus better with a computer lab, the answer has been: no, they did not learn better. No, by and large they did not enjoy the (substantially enriched) technical material. Maybe there is different evidence today in support of using computers. Maybe it is possible to run a course without a human instructor -- just "learn calculus in 25 easy lessons, online"? It is not my intention to discourage people from trying innovative ideas so much as to look at them critically. "Putting it on the computer" is not always a win. oh, two quick items: v:a+x$ ?subst(43,a,v); ==> x+43 ?subst( 43,x, x + 'integrate(f(x),x)) ==> integrate(f(43),43)+43 which is, logically, bonkers. The x inside integrate is a 'bound variable'. If you want to teach this, good luck. Is it related to "what does the 'd' mean in integral(f dx) ? And what does the space between f and d mean? Is it multiplication? Have fun. Cheers Rjf On Thu, Jan 13, 2022 at 10:00 PM Eduardo Ochs <edu...@gm...> wrote: > Nifty!!!!!!! =) =) =) > > My use case is very atypical. In my classes I have many students who > have very little practice with using variables - really! It's sad & > scary - and when these students have to take a formula and perform a > substitution on it to obtain a particular case they usually make a big > mess... for example, they often substitute only certain occurrences of > the variables, and leave the other ones unsubsituted. And when they > have to perform substitutions on theorems, propositions, or proofs the > mess is even bigger... > > So: I'm trying to teach them that substitution and simplification _can > be treated_ as separate operations, and when we keep them as separate > steps our calculations become much easier to debug... We're doing that > on paper, and I told them that I believe that all decent programs for > Computer Algebra should be able to perform substitution in a purely > syntactical way, without simplification, _if we call the right > low-level functions in them_. With your trick I'm almost there... try > this: > > simp:false; > to_lisp(); > (defun $displr (lambdaexpr) (displa (caddr lambdaexpr))) > (to-maxima) > q: lambda([foo], ('integrate(f(x), x, a, b) = F(b) - F(a))); > displr(q)$ > displr(subst([a=42, b=99], q))$ > displr(subst([a=42, b=99, f(x)=3*x^2, F(x)=x^3], q))$ > displr(subst([a=42, b=99, f(x)=3*x^2, F=lambda([x],x^3)], q))$ > > In the last two lines I'm trying to replace all occurrences of F(expr) > by expr^3, but I haven't found the right trick yet... > > Cheers and probably thanks in advance =), > > Eduardo Ochs > http://angg.twu.net/eev-maxima.html > > On Thu, 13 Jan 2022 at 11:11, Stavros Macrakis <mac...@al...> > wrote: > >> Simplification does not happen as a separate step after evaluation of the >> whole expression. >> Every subexpression that is evaluated is immediately simplified. Maxima >> couldn't possibly work otherwise. >> >> Obviously we need to be review our documentation more carefully to keep >> such howlers out! >> >> Using :lisp #$ ... $ seems pretty roundabout. To turn off simplification, >> set *simp:false*. To prevent evaluation, use *'( ... )*. To show the >> internal form of something, use *?print(...)*. >> >> Here's a neat trick: within *lambda* expressions (as well as named >> function definitions), neither simplification nor evaluation is performed, >> so *q: lambda([simp], ?print(2+2)) *might help you see how things work; >> look at *q*, and call *q(false) *and *q(true)* . >> >> |