6 ms·
Will it rot my students' brains if they use Mathematica?
- jacobolus 16y agoUsing a programming language is perfectly reasonable. The thing I have a problem with is the scam of graphing calculators in high school calculus classes: basically in the interest of guaranteeing a revenue stream for Texas Instruments, curriculum has been filled with obtuse impossible-to-symbolically-reason-about equations, which have little relevance to any of the important concepts being taught. Only a trivially small percentage of the students will ever be placed in a situation where they need to regularly use that graphing calculator or similar tools in the future (basically just engineers). The Soviet high-school-age math curriculum of a few decades ago is in my opinion (and admittedly quite limited personal experience) vastly superior to what we do in the US. Much better to aim for understanding of underlying mechanisms, and make people do real proofs (and not the bullshit proofs of “geometry” courses), instead of just punching (effectively) arithmetic into calculators. I think banning calculators from all elementary/secondary math education would be a tremendous benefit because (a) it would improve familiarity with basic number relationships, and (b) it would force problem authors to keep the numbers reasonable, and push problems toward higher levels of abstraction, rather than simply tacking on extra digits after the decimal point. Most importantly, anyone who understands the mathematical structures and relationships involved can learn how to compute with a calculator or similar tool in about a week. Someone who only knows how to punch things into a calculator but doesn’t have a solid grasp of what it means is in a very tough spot as soon as anything slightly out-of-the-ordinary pops up.
- piguy314 16y agoI'm not so sure that banning calculators would have the desired effect. Teaching calculator skills in tandem with other methods of problem solving seems to accomplish both teaching the subject matter and teaching the important skill of computer (calculator) use. Most students, even engineers, won't ever be required to solve problems without a calculator or computers, so ensuring they are fluent in the processes and syntax of computer based computation seems like an important life skill for future generations. As long as the curriculum is designed in a way to emphasize correct process and not just correct answers and "showing your work" is required to get the "right" answer, I think we can avoid the sort of narrowly focused, rote repetition of keystrokes that most people are afraid a calculator culture engenders.
- dget 16y agoWhile I agree that being able to press forward into abstraction is more valuable than trying different permutations of the same problem, I do think the calculator (or at least a function it serves) has some use. In particular, it lets you, when first introduced to a topic, play around with it, and get past the hump of "Really? Is that true?" I liked my calculator in high school for letting me experiment. I think that today, though, something like Wolfram Alpha works just as well for that. I do think there's a place for it in education, though.
- jacobolus 16y ago> it lets you, when first introduced to a topic, play around with it This is not how students are taught to use calculators. I agree with you though; Maple, Mathematica, or (say) Python is much better at this than any graphing calculator.
- jules 16y agoI think it would be much more valuable to learn how the algorithms inside the graphing calculator work, instead of learning how to use a calculator. Integration, differential equation solving and root finding can be programmed in just a couple lines of code. It is amazing how well these numerical methods work. E.g. solving the differential equation y' = y from t=0,y=1 to t=1 computes exp(1): import math def simple(f,t,t1,y=0.0,dt=0.001): while t<t1: y += f(t,y)*dt t += dt return y def rk4(f,t,t1,y=0.0,dt=0.001): while t<t1: k1 = f(t,y) k2 = f(t+dt/2, y+dt*k1/2) k3 = f(t+dt/2, y+dt*k2/2) k4 = f(t+dt, y+dt*k3) y += (k1+2*k2+2*k3+k4)*dt/6 t += dt return y def f(t,y): return y print "Simple:", simple(f, 0.0, 1.0, 1.0) print " RK4:", rk4(f, 0.0, 1.0, 1.0) print "math.e:", math.e This prints: Simple: 2.71692393224 RK4: 2.71828182846 math.e: 2.71828182846 Or perhaps Newton's method to solve x^2 = 2, solution x=sqrt(2): def newton(f, fprime, x=0.1, n=10): for i in xrange(0,n): x -= f(x)/fprime(x) return x def g(x): return x**2 - 2 def gprime(x): return 2*x # derivative of g print newton(g, gprime) print math.sqrt(2) Result: 1.41421356237 1.41421356237 Note that 10 iterations are enough to get all the digits that Python prints correct. In just 13 lines of code we have tools for effectively solving any ordinary differential y' = f(t,y) equation and for solving f(x) = 0 for many functions f. Solving y' = f(t,y) where f(t,y) is a function of t alone gives us integration. E.g. integrating 1/t from t=1 to t=2: rk4(lambda t,y: 1/t, 1.0, 2.0) (but there are better methods for integration than general purpose differential equation solvers)
- alextp 16y agoI agree. Numeric methods have taught me far more than learning simple programmable analytic tricks. Specially solving reccurrences and summations, which mathematica can do very well, and I will almost always make a silly mistake when trying to do it by hand.
- arghnoname 16y agoAnalytic tricks can help reduce a problem that is either numerically unstable or simply too big to estimate quickly into something that can be estimated in a stable or way or at all.
- giardini 16y agoDid Russian elementary and middle schools indeed require that students "do real proofs (and not the bullshit proofs of “geometry” courses)"? If so, what was the failure rate of students? Secondly, what's "bullshit" about the proofs of "geometry" courses? And why do you put "geometry" in quotes? Always requiring proofs in elementary and middle school is inappropriate for many reasons. I'll give a few. There's hardly sufficient time to demonstrate and exercise the mathematics as it is. Secondly, learning to do proofs properly are important only for those who will become academic mathematicians at universities. The demonstration of proof in geometry class is both elegant, precise and appropriate.
- jacobolus 16y ago> learning to do proofs properly are important only for those who will become academic mathematicians at universities. Learning how to motivate and explain mathematical relationships and structures is essential for anyone who plans to work with them later (or frankly anyone who plans to be an informed citizen). Without a demonstration of such ability to explain on students’ part, I doubt that any “mathematics” has in fact been learned. Normal 14-year-olds are plenty capable of understanding the construction of straightforward mathematical arguments. > demonstration of proof in geometry class is both elegant, precise and appropriate. You show me a widely used high school geometry book that isn’t completely full of time wasting banality and pointless over-strict over-regimented rules for students to follow, and I’ll be amazed.
- rmundo 16y agoIf it helps with exploring concepts without distracting from what the course is trying to teach, sure. But I think high school math is generally too basic to warrant using Mathematica as anything but a plotting tool. Doing math problems by hand slows you down and gives you more space to think about the problem in your head, versus having a computer simulate a bunch of outcomes for you. Every college STEM major, however, should know how to use it. It is an incredibly powerful tool.
- chancho 16y agoTextbooks are enough of a boondogle. Forcing entire generations of students to learn things like Matlab and Mathematica only sustains their ridiculous price tags. The student versions being so cheap does not make the situation better, it makes it worse. It's borderline rent seeking. There are plenty of free (capital and lower case 'f') alternatives, like Python, Fortran, etc. They may not be as 'powerful' of tools but they are adequate for teaching the basics of how to translate formal mathematical reasoning into concrete code. The only things that Mathematica, Maple and Matlab add are pre-packaged library functions that do all the hard work for you. This is what makes them powerful tools and if the student, after he or she graduates, decides that power is worth the price that's fine, but getting them hooked on it while in school is detrimental to their learning for all the reasons being discussed in this thread.
- jwess 16y ago"Life is not 'easy to use'" such a great statement, in reference to software that panders to the impatience of most consumers, and their desire for constant stimulation. It reminded me of the programs I use which were _not_ initially easy: Emacs, gnuplot and LaTeX, but after investing some time to learn them, I realized that they're some of the most productive and well designed programs I've ever used. Great article, or dialogue rather.
- drewcrawford 16y agoThis is a sensitive subject for me. I was in a Linear Algebra class where I was asked on an exam to do, among lots of other things, a (nonzero) determinant of a 6x6 matrix by hand. I got no credit for making an arithmetic mistake. I'm a CS major. I will never in my life (outside of school) be asked to solve a difficult math problem without having a ridiculously overpowered tool like Mathematica in front of me. I'm all for teaching hard math to students. But we need to be teaching them how to do things their calculator can't (or better yet) teaching them how to build the calculator. Not teaching them how to add 600 numbers by hand.
- hansen 16y agoYou use the same formula to explicitly calculate the determinant in abstract proof. How can a student understand that, for example, the volume form on a riemannian manifold is invariant under a change of the chart, w/o knowing how to explicitly calculate a determinant? We all hate cumbersome and (at a first sight) useless calculations, but it's the easiest way to become familiar with the math behind it.
- tome 16y agoYou really ought not to use the formula for anything other than calculation. You should characterise the determinant as the highest order form in the Exterior Algebra[1] and then use the fact that it's a group homomorphism so det(UAU^{-1}) = det(A) That's not to say that I agree with the GP. There's a lot to be said for testing the ability to perform abstract calculations with no practial use. A dimension 6 determinant seems completely unreasonable though. [1] http://en.wikipedia.org/wiki/Exterior_algebra#Functoriality http://en.wikipedia.org/wiki/Exterior_algebra#Functoriality
- ghurlman 16y agoIt's posts like this that remind me how now, 10 years out of college in my software dev career, just how much math I've completely forgotten. I like to think I'd pick it up again quickly if need be - but that's the thing... I've forgotten it, because I've never needed it.
- substack 16y agoThis reminds me of a story from all the way back in high school algebra. I had just got a ti-83 calculator that year and was having fun writing basic programs for it. One of the class topics towards the end of the semester was the normal distribution and we were expected to memorize the percentages up to 3 standard deviations. I hated having to remember fixed quantities, so I wrote a program to calculate what I later learned were Riemann sums on the equation for the normal distribution I saw tucked away in the textbook. I wrote a lot of programs like that one throughout high school and into college, and for me it was far more educational to solve a problem once and for through automation than to memorize constants, formulas, or to solve particular instances over and over.
- varaon 16y agoIn high school they would ask us to clear the memory, and show the success message on-screen. A program to simulate a wipe would've been quite possible, I imagine.
- rabidgnat 16y agoYou don't even need a program. The TI-83Plus lets you create backups that survive wipes http://www.youtube.com/watch?v=weBNfd26_r0 http://www.youtube.com/watch?v=weBNfd26_r0