Open Source Math Software For Education?
Rui Carmo writes "Now here's something you don't get asked every day, but which a friend happens to need for her kids: If you had to suggest Open-Source software for mathematics - somewhere from high-school to freshman level, and not merely for 'pure' mathematics, but also applicable to physics and statistics (the kids are considering going into Applied Maths and Engineering), what would you point people toward, assuming they have access to both Linux and Windows? I know this is a niche thing and that there is nothing out there that even comes close to Wolfram's excellent Mathematica (which I used on my old NeXTCube), but surely something along the lines of (or simpler than) Calculation Center exists?" The Knoppix-based Quantian might be a good place to start; what math software do you recommend?
What about octave (free Matlab clone)?
R statistical language
Look at http://maxima.sourceforge.net/.
GraphCalc is a good graphing program. It might not do everything in math, but it graphs pretty nicely.
The whole technology upgrade the schools have been getting doesn't seem to be making learning more efficient. It seems like a big waste of money.
If a kid doesn't spend time studying his books, why would he start studying his software?
Check out Maxima, my Calculus 2 teacher tries to give it a plug in class about every week. Its actually very powerful. http://maxima.sourceforge.net/ http://www.ma.utexas.edu/maxima.html
What are these "kids" trying to learn?
They can explore lots of stuff just with gnuplot.
bc is also pretty good - simple to learn and use.
Who needs all the flashy stuff?
Stephan
http://stephan.sugarmotor.org
There were no computers in my middle/high school math classes and I learned math just fine. What is your friend trying to do that couldn't be done better with pen and paper and old fashioned teaching? Computers aren't a panacea.
Give me Classic Slashdot or give me death!
As an avid Matlab user, octave would be a good realm for lower dimensional mathematics. But, there's a nice foundation being set for python as an interpretive math environment. For the matlab lackies, matplotlib provides Matlab-like plotting support. For windows, grab the enthought compilation -- for linux, piecemeal together your environment starting with SciPy, MayaVi, and Matplotlib.
and now back to the fallout shelter...
bc
I wouldn't recommend software at all. I would recommend something we call "pencil and paper." Learning mathematics (and reading music, and a number of other such undertakings) is as much a mechanical skill as an intellectual one and the quickest way to the brain is through the fingers.
Come back when they're in college and ask again.
KFG
Maxima and Axiom.
How about a book, paper, and pen? Maybe a white board to write examples on?
Really, why do you need software to teach kids math, engineers where trained with out the aid of computer software for years.
I've seen this but haven't yet used it. It seems pretty cool:
Genius Math Tool
Singular - A Computer Algebra System for Polynomial Computations
I don't know if it's a bit too advanced, but still an excellent program.
Scilab http://scilabsoft.inria.fr/ is an open source clone of matlab available for both Linux and Windows. I use it almost daily. 99.9% of what you do in Matlab can be done in Scilab for free.
I hate to state the obvious, but Math.com is where I've spent some time brushing up on all the math I've forgotten.
I'd love a math tutor style of program that would fluidly walk you through from basic math all the way to calc and trig, automatically adjusting to your rate of learning based on little exercises.
Lose Weight and Feel Great with Isagenix
I used both of these tools in my math and stats courses while pursuing my undergrad in CS. I found Octave to be much easier to use than Mathematica or Matlab (both of which were in the computer labs at school), and since it was free, I could easily make use of it at home, so the lab closing times didn't affect me at all.
One major problem that could arise is whether or not your instructor will allow you to hand in homework in either language. Some professors at the school would only allow you to hand in homework that was written in Matlab (we were required to hand in our programs for the class). Fortunately, I had a visiting professor from another University that didn't mind that all my code for numerical methods was writtin in Octave. He could look at the code, and see that the algorithm was correct, and that the output was correct, and that was good enough for him.
IANAL... But I play one on
Pencil + graph paper + ruler + eraser + brain
A couple of suggestions...
Jsoftware (sort of APL but ASCII) not FOSS but free as in beer.
Also GPL'ed Maxima is good.
You want a signature? You can't handle a signature!!
Maxima:
It's the closest thing I know of to an OSS Mathematica. It is to Mathematica what The Gimp is to Photoshop. Namely, it's a fair way behind the front runner but still very usable.
I know this is a bit off-topic, but it can't be overemphasized:
If possible, students should learn the principles behind the math before they are allowed to use fancy tools like calculators and computers.
My high school teacher made us learn logarithms and trigonometry using a pencil, graph paper, and tables, THEN we got to use a calculator. As for calculus, we did all our graphs by hand, sub-$200 graphing calculators weren't available back then.
I hope you get some good answers in this thread.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
On the high school to freshman level? Take software (and calculators) out of the kid's hands. It will only hurt his education. If anything at all, get him an RPN calculator -- it still requires thinking in order to evaluate expressions, the kind of thinking that improves mathematical skills and understanding of the task at hand, instead of the kind of thinking that goes "I plug and chug and get an answer."
h tml
Without doubt, I am certain that my getting an RPN calculator (replacing a non-RPN calculator) while in high school improved my mental math skills and caused my brain to rewire the way it thinks about many aspects of math.
But anyway, about your question. Check out Xcas. Its user interface I dislike, but at least it exists. http://www-fourier.ujf-grenoble.fr/~parisse/giac.
I have found that Maple and Matlab are both licensed by my university in UNIX form (Mac OS X, Linux, Solaris). Unfortunately, of course these are not Free (libre) but they are free (gratis) to students and have helped convince several Math majors and professors to switch to Linux. Personally, I use OpenOffice.org Writer (for its LaTeX-like formula notation) to take notes and do homework, and octave & gnuplot for some other things. I also found that wine will run some software required in my classes like Statistix. All that said, there's not a lot I can't do with my TI89 and HP48G+...
There is R
R Project
Online backup with Mozy, sounds like Ozzie, but more!
There are any number of ways to learn math; most of them involve exploring the relationships between numbers and the physical world. This means teaching someone how to think about things. Math software does not teach anyone how to think; it is a tool for accomplishing a goal. First the student learns arithmetic, then algebra, geometry, trig, calculus, and so on. Once the concepts are understood, the foundation is sound, and the student *knows* math, then, and only then, does math software become useful. It becomes a shortcut, a means to an end. It is a tool used to solve a problem. You have to know how to use the tool to get to the answer. You can train someone to input numbers into some piece of software and watch other numbers get spit out, but that person won't *understand* what they are doing. If the person already understands the math, and is looking for a tool to accomplish some problem solving, then the programs mentioned in this topic become useful. As far as using software to learn math, I don't think any piece of software, open source or otherwise, can currently take the place of a good math teacher. And by that I don't mean someone who drills you in math problems, but someone who can help you discover for yourself the power and elegance of mathematics.
...why not take advantage of the numerous and generous educational discounts available to teachers and students? That way you get manuals and support, and the instructor doesn't have to waste time on configuration, installation, or troubleshooting. Why does it have to be open source? Is she (your friend) worried about bad math being put in or is she going to extend the software in some way?
P.S. I think they're looking for new leadership to continue to project. Please help if you can.
Stay sentient. Don't drink bad milk.
Unless you're looking for a pretty print means of typing things out (in which case, check out LaTeX), use a pen and paper. You should know the basics of anything mathematical, and be able to do it by hand before you use a calculator for it. Otherwise learning it is pointless, since you've learned nothing more than how to hit a few buttons.
but there is a reason for that. You have them do it on paper, and after they have learned how to do that then show them the computer software(Though I personally would recommend they just buy one of those newfangled Ti calcs, it doesn't have quite the set of features that the math software has but the UI is much nicer IMO), but anyway I digress.
If they learn what the software is actually doing first, then they will appreciate it that much more, but even more importantly, they will be able to do stuff where the software breaks down. I have had this happen to me, I became WAAAAY to dependent on my calculator to do everything, and I was kind of in for a shock in my 400 level college math classes because I learned the hard way that you can make the problem much simpler by doing it by hand than trying it on a computer. Also makes proofs that much easier. Skip the computers, the world's greatest mathematicians didn't use them when they were growing up, kids don't need to use them to do math today.
Monstar L
The R Project I think has shown itself to be a great set of tools (and growing). It has a bit of a learning curve, but it's fairly robust (especially for social scientists)
I second the suggestions for pencil, paper, learning, and critical thinking. Whenever I started using software to do math, I pretty much always wasted hours tweaking parameters without doing much real work. Why do a proper optimization analysis, when it is so easy to change to numbers and re-run the program?
Using computers early on in math encourages laziness, unless the student really does have a firm grasp of the math and can use the computer for real discovery. Such firm understanding is rare among students even in college, so I'm skeptical that computers will add much beyond "Hey, neat, my computer can draw this fractal."
-- "Makes Little Debbie look like a pile of puke!" - Moe Szyslak
Octave - Matlab minus the GUI and extra toolboxes
Macaulay 2 - advanced algebra
GAP - general algebra
C'mon hax0r people - no-one needs another web server / window manager. I'm missing an OS replacement for Mathemetica. One would think this would be of high priority to the OS community...
It's not exactly software, though it is soft. And luscious. Check out bikini calculus.
Just wondering
I have mod points and I am not afraid to use them
For my engineering classes I have never needed anything more than octave (GNU matlab clone).
The only time I even needed that was for signal analysis plotting holes and doing edge detection on images and so on, so it was hardly a frequent occurance. Everything else (structures, electonics and so on) was solvable on paper with a casio graphic calculator (not for the graphing but for the ability to store 50+ variables, saving a lot of re-entry).
The exceptions to this are of course applications like CFD but unless you feel like forking out many thousands of pounds you just use SSH, X forwarding and whatever happens to be installed on the universities UNIX workstations from your dorm.
Beep beep.
For statistics software that's free, you're not going to get much better than R. R is an implementation of the S language; so is S-Plus, but that will cost you. R is awesome for many things.
If you have data of any type and want to easily prepare graphical summaries, R is good for that. For beginning students in statistics, it can look up critical values for all the distributions so you don't have to use the blasted tables. It also has functions for everything you'll see in an intro class (regression, ANOVA), although I'd consider learning those first by hand so you know what the computer is doing.
There's also advanced packages for everything and anything statistical. There's an entire package built with R for analyzing bioinformatics data.
I use R daily for lots of different things, it's really a handy tool. However, if you don't know statistics already, I'd suggest a book called "Introductory Statistics with R" by Peter Dalgaard(sp?). It will get you up and running in no time.
Finally, R is also a programming language which is very Lisp/Scheme like, and makes it really fun and easy to write your own statistical functions. If you have to (or want to) take statistics, just get R!
agreed
First you need to program the wetware (mind), then you can use the software to examine the side effects of the principles and formulas you learned. I think that the latter used to be known as applied math.
"In theory, there's no difference between theory and practice. In practice, however...."
Free Software: Like love, it grows best when given away.
Having said that, if the kid wants to do math, don't let him near a computer. If he needs a computer or a calculator or anything but some paper and a pencil, it's not math.
See what I've been reading.
What is more fundamental about a book of tables than, say, a sliderule? I'd suggest that the sliderule is *more* fundamental. Likewise, the graphs are more *real* than tables.
If you want to teach people to calculate without necessarily understanding, you can do it either way. But if you want them to see what it really means, then *show* them. Use graphics. Use animated vector fields and potential fields. Will it help them calculate a cube root swiftly by hand? No. Will it help them get through Jackson someday? Yeah.
Ok, I'll bite.
I don't recommend anything - at that level, you should be reading books.
No software out there can replicate or replace the skills and discipline you need to do math.
Reducing the workload by leaning on a crutch will only hurt you in the end. [The exception, of course, is Gnuplot: if you can figger out Gnuplot, you probably understand things well enough to treat it as the tool it is and not a crutch.]
"Lawyers are for sucks."
- Doug McKenzie
Of course only a pencil and paper are truly necessary to learn the majority of mathematical subjects, but I think it's implicit here that we are talking about *supplementing* a math education with software. I think it's obvious we are not considering a computer-only approach.
As an undergrad math student and as someone who is paid to tutor calculus, I can definitely vouch for the usefulness of software in helping students understand many aspects of mathematics. This is particularly evident in understanding the behaviour of functions when parameters are modified.
For example, it is much easier to see how varying a constant factor somewhere in a function changes it by actually watching the graph and the parameters change, via a Maple Maplet, or a Java applet, or something of the like.
It's a beautiful and very inspiring thing that some of you learned math with a chisel and a piece of slate, but also irrelevant. Software is more or less ubiquitous in the educational system now, and it has helped myself and many other students gain a fuller understanding of some rather abstruse mathematical concepts.
That's why they're called blackboreds! =P
:)
I mean, you can dictate/write a bunch of equations to some bored kids throwing paper planes at each other, or....
You could do some interactive presentation where a kid can ask you: "and what happens if you do this and that?" and he gets the answer plotted in color and 3D, right away (Given, that you KNOW how to use the math program, of course)
I remember my image processing classes at college. I loved to write my own filters using MATLAB and see how the resulting image looked like. This is what I loved about matlab: After using it, you realize that you can use it not only for "solving homework", but to go BEYOND what your're being taught. It's like a toy. And kids LOVE toys, don't they?
This is the essence of education: Let the learner LEARN by himself, and not memorize answers or formulas.
Besides, having an excellent software tool is NOT gonna hinder their learning, is it?
As several commentators have suggested, R is a terrific platform for statistical computing. Here's a link to a blog post that, in part, contains more information about R, in particular links to some of the textbooks (both free and commercially published) that use it to do statistics. R is one of those open-source projects that's absolutely first class but doesn't get so much exposure in the mainstream because it's a bit specialized.
If you mean software that will help someone solve mathematical problems, then if you understand how to program then really any programming language will do. An interpreted language with lots of high-level libraries (like Python with NumPy and SciPy) is my personal preference. Also, one nice resource is this online integral doer. Especially good for quick and easy cheating on calculus homework!
If you don't understand how to program, then even Mathematica isn't going to teach you very much, because you won't be able to solve problems unless you've solved a problem exactly like it before. It's nice to think that you can help your kids learn by getting them some software, but it's not really teaching them the fundamentals. Knowing what a graph of z = yx + x + y looks like doesn't really make you any better at math.
Basically, if you already understand math and you just want to solve some problems using the knowledge you already have, then check out Python/NumPy or Octave. If you don't understand math and you want to learn it, software won't really help.
It's not exactly what you're asking for, but I would recommend learning a general-purpose programming language, perhaps an easy one like Python. I found programming to often be an invaluable skill from high school math through graduate math and engineering courses. There's plenty of books that teach programming and I've found that most people who understand programming don't need special "mathematics" software, they can just write their own little program most of the time.
p.s. I just filed my c.s. master's thesis today, woo hoo!
"TV is great! Every New Year's I make a resolution to watch more TV." - Ann Coulter
So gnuplot is pretty close to what you like? Stephan
http://stephan.sugarmotor.org
I've been told it's unstoppable.
No, you just need a bigger cork, a mallet, and some steel strapping to hold it all in.
-- "Makes Little Debbie look like a pile of puke!" - Moe Szyslak
Try writing a Purity test...
tasks(723) drafts(105) languages(484) examples(29106)
Not strictly Open Source, but free as in beer for Linux at least. It's now coupled with Scilab, so it's possible to do both symbolic and numeric maths with it. Just like in Mathematica.
At my university, the math courses are often big fans of making students use Maple and Matlab alternately... With this in mind they are pretty good at providing us with a large number of computer labs equipped with both those two as well as Mathematica (though I haven't played with that one yet).
Maple and Mathlab are both crazy powerful, sometimes nearly too much so when all you want is a short and simple operation...
Due to that, in conjunction with those programs, (or in their absence) and with my Ti-89, I have sometimes used:
http://zen.uta.edu/
or more specifically:
http://zen.uta.edu/math/
Which is good for a few sets of patterns of operations from differential equation solving to laplace transforms...
Gravity Sucks
At National Mu Alpha Theta this summer (a math tournament), I had brought my OS X laptop which happened to have Maxima on it. I use Mathematica at home, but I only have the Win32 version. Maxima is difficult to learn (not user-friendly, but it's almost as powerful as Mathematica -- in fact, its predecessor, Macsyma, was one of the first CASes, predating Mathematica. I used Maxima to verify some lengthy integrals after one test when the answer posted differed significantly from my answer.
Oh, and it's GPL, and it works on Windows, Linux, and Mac OS X (via Fink).
BTW, you probably know this, but if you can afford Mathematica or a Math'ca-based product, or at least a student license, it's going to be a lot better and more powerful than any OSS math product today. Math'ca is really an excellent product. Unfortunately, the price matches its quality.
Maxima (formerly macsyma) is a nifty tool I use. Command-line and GUI versions are available at the site, but the Emacs mode is much better looking.
Sir Tony Hoare was the source of that quote, actually. Donald Knuth paraphresed it, but didn't originate it.
Slashdot's name? When my compiler sees
I think that's a good point. For high school calculus(circa 1995), they basically required us to purchase frickin TI-85's. I still have this 1/2 lb lump of graphing calculator, and I only use it for conversions (which I can't do in my head anymore :)
That being said, any math tool you give these students can be a crutch later on, so choose wisely.
Since these kids are freshman -- why not give them multiple labs(intermixed with some actual learning) that will allow them to experiment between the different environments out there. After all, they may not get to *choose* their math processing medium when they get into serious work.
and now back to the fallout shelter...
The UofA has some great titles, from rurfc1, the r u ready for calculus program, to slopes and other diffeq titles. All free, all good.
/ ua sft.html
The rur series is GOLD! I've installed in on all computer I own and made CDs just because its the kind of thing some new math dept head could take off the website and you'll never see it again.
http://math.arizona.edu/~www_main_2002/software
because I have been enjoined by this Holy Office to abandon the false opinion which maintains that the Sun is the centre
The insanely great mathworld is a great place to start. Pick a subject and start reading. If you don't understand something just follow the link to its definition, and pop the stack when you're ready to move on.
So what's wrong with spending $139 for a student edition of "Wolfram's excellent Mathematica?" The kids will get years of learning from it.
Using inferior tools to save a few bucks on education is no bargain.
Go outside with a protractor and a tape measure and figure out the height of a tree. Then follow up by climbing the tree to see if the answer is right. If the kid falls out of the tree, well (s)he gets to learn about gravity as a bonus.
Which kid learns more about frogs? The one who plays the Microsoft Magic Schoolbus game where you get to be a frog or the kid who goes down to the river with a net and a pail and caatches frogs and falls in the river etc etc?
Engineering is the art of compromise.
MAPLE is a powerful program for any math functions. It has awesome graphing capabilities, the only downside is the complex way in which one has to enter in the problem, and define what you want the solution to look like, but once one has the basic rules down they can do very complex mathimatic and physics calculations. debatable if Maple is more powerful than Mathimatica, but it is close.
What on earth is the point of working out sine or cosine with a TABLE? How is that more useful or 'fundamental' than using a calculator?
Both options are really 'black box magic occurs here'.
Mathworld gives the infinite-term series you should be summing up instead if you really want to remove some black box magic.
I will grant: Pencil and Paper are great if you're working on learning math skills. Even then, however, there are times you're going to want something to do the arithmetic and/or graphing and/or solve the integral for you. If I've know how to add already, I don't want paper and pencil, I want an open source calculator so I don't have to. If I know how to do Integration by Parts already, I don't need to do it every time...of course, studying math won't mean you have to do Integration by Parts all the time (unless you're in DiffEQ or something), which brings me to my "But":
But: Paper and Pencil aren't gonna cut it as far as taking an engineering course is concerned. Nor as far as a physics course is concerned. If I'm trying to "learn the concepts" of a non-calculus class, then having to do all these pesky integrals isn't going to help any! It's just taking up my time. Even better, there are going to be cases where you can't do the work without some hefty numerical computations that would take you faaar too long to do by hand. Sure, you should do the first one on paper, but do you want to do every calculation of magnetic field by hand? Want to do this line integral for the 7th time? Not yet bored of 2 page solutions? Really want to follow Newton's method by hand?
Furthermore: The age when everything could be done on paper and pencil is now part of the "good old days(TM)", and such technology is no longer the only mainstay.
Finally: I was in a graduate program for mathematics, and yes, even doing "pure" mathematics, we used software. The programs that pop immediately to mind were Maple (cheaper than mathematica) and McCauley (it's algebra. I don't know much else). I also wrote a C program to handle card shuffling, so we could look at various results - sure, you could do it by hand, but it'd take a *lot* longer. In one course, I even wrote Public Key Encryptioni/Decryption software in Maple - an easy way to get a hands-on feel for the concepts, and you don't even have to handle arbitary-length modular multiplication by hand...
Don't get me wrong, Paper and Pencils are great, but so are math packages!
--LWM
Not all of the below is free as in GNU but it is free as in beer.
r ep g.html
X(PLORE), despite being obscure, is very good. I've used it in DOS and Windows. Not sure I'd rely on any results without verifying them:
http://userwww.sfsu.edu/~meredith/X(PLORE)/xplo
MuPad is good for symbolic calculus. Free for learning. Pro version is paid.
http://research.mupad.de/
Don't discount freeware spreadsheets.
Also, though I personally think non-wysiwyg is horrible, Latex is often used to publish math papers etc.
Personally I'd google for software related to the particular math that you want to explore. There's a lot out there and it'll take some hunting, but for example goole for the words: math freeware differential equations.
These posts express my own personal views, not those of my employer
I suppose Maxima is reasonably close, but Macsyma used to be a nice math program. Unfortunately the company seems to have gone out of business. Probably neither is suitable for high school math, though. Pencil and paper is probably still best for high school and lower
not sure if anyone mentioned it, but perhaps wikipedia, google or some other free source of proper knowledge is exactly what the doctor ordered. Many interesting, simple things are available in wikipedia, and googling about for more specifics is always a good learning activity. If/when they actually grasp the concepts at hand is when you want software to experiment with them, til then it's a waste of their time and their computer's HD
In addition to Octave (which I've played with a little but can't really comment on), I experimented a bit with a number of symbolic math programs. My problem was that I had a really freakin' big machine-generated equation that I was hoping could be reduced to something sane. As it happened, the answer was no, but I tried out a bunch of programs.
(Disclaimer: it's been a while and I didn't put too much effort into investigations so I Could Be Wrong About Stuff.)
JACAL managed to actually do the reduction (instead of flailing away for a while before dying or my killing it) but that's not all that useful for students. My main complaint was that it didn't seem useful if you didn't know Scheme, or at least how to cope with a Scheme interpreter. So if you typed the wrong thing, it dropped into the Scheme debugger. Also, no graphics.
Mathomatic choked on the Giant Equation and died. On the other hand, it built painlessly and seems reasonably simple. Once again, it's text-only. I wasn't very impressed with it, but on the other hand, I gave up on it as soon as I realized it couldn't handle my equation.
YACAS seemed better organized. It has a C-ish interpreted language that seems to implement a lot of the system and it looks pretty well-documented. When I tried it on my equation, it ran for about 24 hours without returning a result so I killed it. Once again, it's textual but it'll talk to a plotting program called Superficie to, uh, plot stuff.
You may want to try these out and see if they'll do what you want.
Have you checked out the pricing on math products lately? I have. It's freakin' stratospheric, and then they nickel and dime you for extensions.
My main issue with this pricing structure is that a hobbyist like myself simply can't justify the expense. And that's very unfortunate.
Another useful tool maybe Maple, again, if the college has the proper license. The lastest version has a number of "tutors" geared toward the first years of college (meaning calc I-III, and lin. alg.). There is a step by step symbolic integrator, for instance.
Anyway, my advice would be using tools that help creativity and visualization, not tools that do their work for them. And like other people have said, if they know a language like python or c++, they might be motivated to use it as a "playground" to explore ideas. This is very cool.
Scilab might not be a bad choice either - http://scilabsoft.inria.fr/. It is available for both *nix and Windows, and is quite powerful.
Okay, there's something to be against recommending to the poster: "math software is for fancy lads -- why don't you just whip them there kiddies 'til they learn their 'rithmatic."
It's just that we live in a visual age. Why not put some of these Clinton-funded Pentium III's to good use! Give these kids a lab once a month that exposes them to some of the applications of math. It's a lot easier to lead a horse to water if the horse knows the water will satiate its thirst.
I've seen Mathematica do some awesome abstract math. I've used matlab to run control algorithms on live freakin' motors. If these students are serious about engineering/physics/applied math, a little exposure to what they could *actually be working with someday* would not impede their understanding of the maths behind the software -- it would more likely motivate them and give them some end goal.
and now back to the fallout shelter...
Scipy.org
Religion is the main cause of atheism.
Full disclosure: I work for Wolfram Research. But oh -- the irony! I am also a columnist for Math Games at maa.org, and I wrote an article about the Quantian Distribution. I didn't want a spammer to start using quantian.org just as the distro was getting popular, so I bought it, and provided a redirect to the main Quantian site. So now, I'm getting doubly Slashdotted. Huzzah. A student should definitely be getting Mathematica for Students -- but check with the college first. They might be on a Mathematica Campus, and can get it for free.
I don't know about math.com, but there's
http://planetmath.org/
"PlanetMath is a virtual community which aims to help make mathematical knowledge more accessible. PlanetMath's content is created collaboratively: the main feature is the mathematics encyclopedia with entries written and reviewed by members. The entries are contributed under the terms of the GNU Free Documentation License (FDL) in order to preserve the rights of both the authors and readers in a sensible way."
Animoog.org
Mathematica is actually available for Linux, as well.
Macsyma was actually started at MIT, written in lisp, part of Project MAC. At least two different versions came out, Maxima was from the Department of Energy's version, which has been open sourced. Another version was owned by Symbolics, then was spun off into its own company. I beleive there's still another version and MIT still retains the rights to it. Feel free to correct me on any of this- but for sure the software has a long and tangled history.
You don't want your kids using mathematical software to learn math, especially if they're going to be high school seniors/college freshmen. Every single serious math class in college bans the use of calculators and is heavily theory based; it's a lot more important to understand the theoretical underpinnings of statistics (pdf's, poisson processes, transforms, etc..." than it is to calculate the std. deviation from a set of data. It's trivial to calculate lots of numbers from a formula; it's much more intellectually rewarding to re-derive fundamental equations governing stochastic processes. The same holds of calculus and linear algebra. The Berkeley Engineering program requires multi-variable calculus, linear algebra, discrete math, and for certain programs, even real/complex canalysis are highly recommended. In not a single one of those classes has a calculator been allowed on tests. There's really no reason to need Mathematica or Matlab unless you're solving transcedental equations or your data set is so complex that you need to solve using iterations.
uh.. comes in the same package as parent, but its RPN :)
I can't stand mathematica. It only ever gives useful output to problems a human could do by hand in an hour or so, and the exercise is good for you. Anytime a human couldn't do the algebra, calculus etc in a reasonably short period of time it just produces pages and pages of unintelligable rubbish. And to top things off it's occassionally wrong.
:wq
I wouldn't recommend using math software for students before graduate school.
I took the computer-assisted calculus and differential equations courses in college, and watched a wave of students follow me with even more computer-oriented mathematics. My conclusion is that I should have take the normal classes.
The mechanics of manipulating equations, memorizing identity theorems, and just plain brute force is something that sticks with you longer than knowing -ENTER is how to evaluate a command in Mathematica.
Do these kids a favor and make them learn the hard way. The skills will stick with them longer. They'll hate you now, but it's for their own good.
ShoutingMan.com
It's still GIGO unless you know what you're doing without the use of the machines.
Too lazy to create a sig...
"J is a modern, high-level, general-purpose, high-performance programming language. J is portable and runs on Windows, Unix, Mac, and PocketPC handhelds. J runs both as a GUI and in a console (command line)."
"J is particularly strong in the mathematical, statistical, and logical analysis of arrays of data. It is a powerful tool in building new and better solutions to old problems and even better at finding solutions where the problem is not already well understood."
No-one's mentioned the superb pari-gp yet. It'll draw graphs using gnuplot and unlike much other software of it's type it has excellent documentation.
Lisp is also prominently absent but I agree with what Chaitin says about it being the natural computer language for mathematically minded computer users. Actually I'm surprised it isn't more popular with other software developers - it seems to me to make any kind of programming easier and more pleasurable.
People who've mentioned Maxima also haven't said anything much about graphical (non-plotting) interfaces to it. I like imaxima in emacs and also TeXmacs - which will act as a graphical front end to many other mathematical programs.
I don't know of any open source efforts in this area, but both Maple (http://www.maplesoft.com/) and MathCAD (http://www.mathcad.com/) are excellent packages. From personal experience, I'd say Mathematica or Matlab are the most powerful tools, but that Maple and MathCAD are significantly easier to learn and teach. Both also have really cheap academic versions with support, between $99 and $150, I believe. They're also fully compatible with Matlab & Mathematica, so upgrading later doesn't lose you all your old projects.
Caveat:
The danger with software that does complex problem solving is that students, especially pre-college the variety, get so dependent on using the tool to find the answer that they forget the basics of what they're doing and what it means. I saw this happen to a lot of my peers during my undregraduate degree, because my university was piloting laptop-based courses for math and physics. By the time they got to differential equations, the laptop kids knew the commands to get the answer, but had no idea what it meant or how to solve the problem sans software.
I avoided this by always doing the work by hand, and then checking it with the software. My teachers forced that on us from the first time we used Maple version 3 in high school. I stuck to it throughout college (except the really insane engineering problems that take days to solve by hand). I strongly suggest that you enforce similar policies for your students, especially for the fundamentals.
I got mine through my math department. They are participating in some kind of licence to students. The long and short of it is that i got mathematica 5 for free from my school, so you might want to check at your school if they have something similar.
It may be overkill but Scilab http://scilabsoft.inria.fr/ is a very powerful math program. I can't even begin to list what it does. I don't know how open the code is, but it is free (beer). Comes with most large distros too.
Michael
I'm a high school senior and I would love to have software like this.
There are times in my high school calculus course where I would love to be able to see practical applications of the things I learn in class. Or get extra help on a difficult concept I didn't quite understand in class.
I've tried to use recouces like wikipedia, open course ware (though MIT is a bit out of my leauge), and Sparknotes; but, its hard to learn a concept without a good explanation and instruction.
In conclusion, software that could achually teach or at least tutor math would be a godsend to me and thousands of other confused math students.
P.S. Please don't complain to me about getting better math teachers - thats an issue you'd have to take up with the union. Also, bad students isn't always their fault.
Here are the steps for building Maxima:
./configure
0) Install any one of several possible Lisps (GCL, CMUCL, Clisp and SBCL among other possibilities).
1)
2) make
3) make install
In what way is that more difficult to build than any other piece of free software? We also provide rpm's and an installer for Windows. Several other distributions contain their own Maxima packages.
Disclaimer: I am the Maxima Project leader. I also wrote the build system.
But it doesn't have to be an advanced course. Using fractals, you can introduce complex numbers, dynamical systems, chaos, pde's etc on very elementary level, while slowly introducing the equations and formulas. That's exactly what computers are good for -- visualizing and modeling.
AccountKiller
You can do l-system fractals with pen and paper.
You can also do q-tree and r-trees and show how they can be used for fractal compression, and you don't even need a calculator.
thank God the internet isn't a human right.
Giac/Xcas is a free computer algebra system for Windows, Mac OS X and Linux/Unix. It has a compatibility mode for maple, mupad and the TI89. It is available as a standalone program (graphic or text interfaces) or as a C++ library.
h tml/
http://www-fourier.ujf-grenoble.fr/~parisse/giac.
I enjoyed calc and all my other math classes in college etc. But now I want to explore more math on my own. I want to focus on concepts and the end result and not get bogged down in mechanics. Using computer software will be much more enjoyable and productive than using paper.
This is a great question and I'm really interested in trying out all the software that has been mentioned!
I don't need no stinkin' sig!
POVRAY is a good tool to learn solid geometry. The results union, intersection, difference operations can be visualized. It has a programming language which allows the manipulation of objects and creation of animations. Trig and other math functions may be used. It has some interesting possibilities.
I lead the Maxima project, http://maxima.sourceforge.net/. Maxima is a full-featured GPL'd computer algebra system under active development. We don't hear much from people who want to use Maxima for high school mathematics, but we would welcome the input.
I didn't get that auto-URL thing right, here it is: http://cow.math.temple.edu/
Works, free, nice
To learn geometry, I recommend C.a.R. (Compass and Ruler), a Java application. :h man n/java/zirkel/doc_en/JavaWebStart.html
The Java WebStart is here
http://mathsrv.ku-eichstaett.de/MGF/homes/grot
The SVG export is excellent, and I'm using it to import figures in Inkscape.
Another popular one is GeoNext. Select the english flag, then scroll the page to the "run Online!" link (Java WebStart too).
[whiteboard]
I cannot stand them. Chalkboards seem to have completely disappeared. And now all these stupid empty Expo markers are going to landfills. There was nothing, NOTHING wrong with chalk, except that it was cheaper, and that the Sanford corp wasn't getting money for it.
Whiteboards made sense in some environments, such as where it was absolutely crucial not to have chalk dust (but in those environments, you should not use alcohol pens either; they also make dust).
I hate whiteboards. I also hate the fact that I'm basically forced to have white backgrounds on my os windows, since there is invariably some app, and *many* websites, which hardcode the textcolor to black, but assume you have a light background. grr.
Blackboards are absorptive and whiteboards are reflective. Black windows on a computer screen are neutral, white windows radiate.
-fb Everything not expressly forbidden is now mandatory.
I've used Octave for digital filter design and general purpose mathematics. As a previous Matlab user, it makes a nice alternative when price is an issue. With some care and practice, you can make nice plots using gnuplot too.
"Hell I better get rid of my slide-rule while I'm at it."
You're joking, but people had a shorter path to understanding logarithmic problems in the slide rule days. They had to learn to deal with logs, in order to multiply and divide on their slide rules. Calculators do not give you a continuous, tactile connection between log and unit scales, so it doesn't get internalized either as a useful tool, or as a natural phenomenon.
A connection to certain transcendental properties of numbers was lost when we went from slide rules to electronic calculators. And when I say "we", I am speaking from experience.
-fb Everything not expressly forbidden is now mandatory.
Emacs's Calc (the full one) Is basically motivated by the HP 48G series of calculators. It's all a high schooler would need to do calculus, graph equations, basic stats, and numerical solutions. Graphing requires gnuplot.
It includes a lot of functionality and it's generally accessed by key combos, so reading the manual is necessary. in particular inputting algebraic formulae requires typing the quote key first.
it will do symbolic and numeric integration and differentiation, and solutions of matrix equations. I use it all the time for basic homework type problems in engineering.
Other software that might be appropriate is maxima, octave, and R. R is especially good for data analysis and statistics.
I don't recommend axiom for high school level, but it is quite good. (type system adds extra complication for high schoolers though).
((lambda (x) (x x)) (lambda (x) (x x))) http://www.endpointcomputing.com a scientific approach to custom computing.
Try to imagine the future of school text books. You think it's going to only be a bunch of static graphs and equations? Not a chance. It'll be "enter some test numbers here" or "slide this bar back and forth and see what happens to this graph."
And sometimes the hard equation work does get in the way of seeing the concepts, which are no less important. I know a lot of students tend to focus on how to do a math problem instead of what the math problem is, since you get graded on how well you do them!
Pencil and paper? I'll bet that no matter what software the questioner uses, pencil and paper will also be put to good use crunching equations away just like we all have done. You can rest easy knowing that, I hope. Computers are not a replacement for everything, after all.
But to say, "Why not use pencil and paper like I did and forget about this software nonsense?" is to ignore an extremely valuable learning tool that has only recently started to be utilized.
Check this one out at http://research.mupad.de/. According to the website, "MuPAD is a mathematical expert system for doing symbolic and exact algebraic computations with almost arbitrary accuracy."; I know it includes several math libraries and has the ability of doing 2D and 3D plots... I don't think it is open source, but there seems to be a free (beer), older version for non commercial use under both Linux and Windows. Good Luck.
PS: I remember using an even older version quite a few years ago and it was really nice.
Get the student version of Mathematica, last I remember, it was like $89.
Need Free Juniper/NetScreen Support? JuniperForum
Alright, I know it's not free. But if he's thinking of being an engineer, it will help him to know how to use this program. Lots of my classes require it (computer engineering) and knowing it before he enters the class would help him.
I often use Pari/GP:
http://pari.math.u-bordeaux.fr/
Pari is a command line calculator with graphing capabilities. It was developed by Henri Cohen, a number theorist. It has an incredible number of functions, plus it can calculate really big numbers.
From the FAQ:
PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers, etc., and a lot of transcendental functions.
Probably Taylor series - maybe MacLaurin!
And that's not what you need or high (-ish) order maths...
R is very difficult to use with rather poor documentation. I'm all about the appropriate use of open source software, with appropriate being the key word. R is great for advanced undergrads and beyond, but learning to code in R will just distract from statistical and mathematical simulations for high schoolers. Stick with Octave or Scilab for now.
The company I work for creates open source educational software from federal grants. Most of our software is Physics or Chemistry based, but most of it is Java and written and tested on MacOSX, Linux, and Windows. Some of our software is written more for classroom use (with tests and all) but some is standalone. Here is a link to our download center.
-=Down Syndrome in Maine
I loved mathcad, so simple and graphical, but I never found a free alternative.
It makes it really easy to document equations for reports and stuff.
I know the nice GUI makes some real mathies flinch, but for those who just want to get work done it's great.
Blah blah blah..inmyday...blah blah blah.
either you won't use math and it doesn't matter or you go into a field that does use math and you will learn it. Using a calculator won't prevent those interesxted in math from learning it in detail.
The Kruger Dunning explains most post on
Maybe one of these could be interesting for you:
...).
Maxima 5.9.0
Maxima is a fairly complete computer algebra system with an emphasis on symbolic computation.
Octave 2.1.42
GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language.
R 1.8.0
R is `GNU S' - A language and environment for statistical computing and graphics. R is similar to the award-winning S system, which was developed at Bell Laboratories by John Chambers et al. It provides a wide variety of statistical and graphical techniques (linear and nonlinear modelling, statistical tests, time series analysis, classification, clustering,
Scilab 2.6
Scilab is a scientific software package for numerical computations in a user-friendly environment.
Gnuplot 3.7.x
gnuplot is a command-driven interactive function plotting program. It can be used to plot functions and data points in both two- and three-dimensional plots in many different formats, and will accommodate many of the needs of today's scientists for graphic data representation.
Source: http://gnuwin.epfl.ch/classes/en/sciences.html
TexMacs,
best TeX editor ever.
Get 'em a good graphing calc, or some software that takes the pain out of visualizing math.
I see repeatedly how people are suggesting wetware (one's brain) and a pencil and graph paper.
While I don't disagree with the value, since there is a lot of value to understanding things well enough thru these methods, this reminds me of piano lessons:
99% of the world doesn't want music theory. They just want to be able to play along while folks sing.
99% of the world isn't going to keep any of the deeper mathematical education they get. Yeah, I know that is damn depressing, but I console myself with my fat paycheck and the bonuses I get when I can trivially solve my clients' problems because I actually *paid attention* and retained that technical/scientific knowledge.
I put a few years into learning the piano. Paid music teachers, etc. Net result: not much. Friends that learned thru other means (in a band, from someone with improv talent, etc) got what they needed (the ability to play recreationally) in less time and they all have more fun with that skill.
For anyone seeing a math-oriented career, software and calculators can prevent deeper learning. For everyone else, the most useful thing that one can get is a usable sense of these things. Graphing software is a crutch, but it can do a better job of letting a younger student explore: 1/x functions, trig, logarithms, asymptotes, limits, derivatives, integrals, transforms, special functions, etc. And since most folks don't plan to carry this wisdom very far, it's better that we lighten the hell up and stop trying to make everyone walk uphill both ways thru a meter of snow to get their education. I'm sick of hearing everyone say 'I never use any math in my life'.
As a student, I found a small PC app that would graph almost any equation I could put into it. Mathematica was just a few years old and prohibitively expensive, but this little freebie did simple graph work nicely. While I was using it to attempt to hand-fit polynomials to data I was collecting, it later did wonders for my comprehending various nastier things I was learning (grad physics E & M functions)
So, I say again:
Get a good graphing calculator. Or use any of the above software items others here have mentioned. Splurge on matlab or mathematica, or find a trial/warez/academic version you can use. Use that to get an innate sense of what each function *should* look like, and let that carry you along (a good goal is to understand the equation enough to recognize obviously-wrong results).
A side effect: several of those 99%'ers are going to be controlling the financial future of your world, as managers, policy wonks, or managing a fund you're applying to. Would you rather their view of tech is unpleasant memories of hand-graphing, or a healthy respect for the subject's underlying beauty and a respect for your work, when you submit that funding application?
Years ago, nobel physicist Leon Lederman spoke at our university, and he put a lot of time into talking about 'Physics for Poets': a U of Chicago course specifically aiming to give nonphysicists a working understanding, and deep appreciation for what we're doing. Insisting on everyone doing math by hand is, incidentally, the same as not seeing a need for improving the UI for linux or other apps, and a zillion other 'techie-vs-Them' friction points.
I think I might want to pick up a spelling and grammer book.
Damn internet has ruined my grammer and spelling!
and by 'ruined' I mean it lets everyone see how bad I am.
The Kruger Dunning explains most post on
To the person who claims it is a poor choice for High Schoolers, I disagree, especially if statistics is of interest. It forces you to actually THINK about what you are doing
I agree here. Many people are posting that these mathematical sorts of programs aren't for high schoolers. While it is true that such programs shouldn't be used as a crutch for passing math class, it is also important to teach students programming, in particular mathematical programming. For this R would be good.
Poor documentation
I'll have to disagree here. R is an implementation of the S language standards. There a number of good S language references out there. Also the help.search() facility is great and the R-help mailing list archives are google searchable.
http://pdl.perl.org/
If you're already teaching your kids perl (for some strange reason), pdl adds vector numeric features and access to all sorts of numeric libraries.
It's good for number crunching and data display.
By the way, I'm using Maxima to supplement my calculus class. It's helpful to be able to use a full-fledged CAS to go through problems that I missed and see where I went wrong, or to do fancy graphing, or do quick rational arithmetic and save me the trouble, or any one of a number of things. Thank you, to everyone who's helped with Maxima.
By the way, graphing seems pretty slow---unless I throw in some floating-point numbers. Is Maxima trying to use arbitrary-precision rationals for graphing?
now I can use that money to pay my rent.
-pyrrho
In high school you aren't using any math that's so advanced you need a computer to do it for you. High school is the time to learn how to do things yourself. College is when you get to start finding tools to do the stuff you used to do by hand by computer to reduce tedium since the object isn't to learn how to solve an algebraic equation for another variable.
High School (especially math) text books are designed to be used with graphing calculators. The book explains what is going on, expects you to do it by hand and then tells you, "oh by the way, these are the buttons you push to do it on a calculator a zillion times faster." If you don't understand what's going on inside the blackbox then you won't know how or when to use it.
It's kind of hard to take a test with a laptop at your desk, much less a desktop loaded with a bunch of software just so the student doesn't have to solve 2+2 on their own. That's why high schools advertise graphing calculators to students.
Stop hurting the students with technology that only cripples their learning experience. If you give them X piece of software and let them use it like a crutch they're only going to know how to do things with X piece of software and be completely lost in the real world.
If you want to be use technology to improve their education, only let them use mathematical tools that they themselves write or only after they demonstrate mastery of the technique with paper and pencil. I understood linear algebra quite a bit better when I personally wrote software that implemented things I was doing by hand. Same with statistics. I learned statistics by writing a very powerful statistics package from scratch using only equations I found on various math web-sites.
Otherwise you're just hiding things they need to know behind black boxes.
Work Safe Porn
Disclaimer: I work for maple, as a developer but not in R&D. I speak from my knowledge of this company but I'm sure the others have similar situations.
The problem with OSS for something like a mathematics package (especially a package with symbolics) is they contain IP obtained with research partnerships with institutions. You won't find a OSS solution that competes with any of the big 3 (Maple, Matlab and Mathematica) because the the algorithms for symbolics and so forth are just too complex and important as IP to the companies.
All 3 of the packages I believe/know have much reduced student pricing ($100 USD for a downloadable on Mac, Linux or Win) and many of the schools in North America either have a partnership or you can obtain the software directly from your department. Also many of the calculus texts include 4 or 8 month trial versions.
I know this doesn't help much and it is unfortunate that you can't obtain OSS alternatives for software that has a educational purpose, but on the otherside with out the 1000's of freshman in Calc101 I wouldn't have a salary.
Comment removed based on user account deletion
Seems like a dead project, although a useful and popular dead project.
Ah, on a close look, there have been minor dot releases... but it seems like a 3.0 should be happening.
It is a huge disadvantage for "grunt" computations. However, interpreted code is a perfect match for most high-level algebraic routines.
In Soviet America the banks rob you!
Mathematica has become quite capable in the numerical department in the past couple of versions.
I was actually going to suggest Povray. Great tool for learning trigonometry and basic linear algebra.
Or if you are too unpatient to mess with povray, get geomview. You get faster output, and it is more interactive.
AccountKiller
I would recommend Python, with SciPy, and Numeric Python or Numarray. Not only can be math be learned, but valuable programming skills can be learned in the process. Simply put, Python does not get in your way of developing algorithms, and supports complex numbers "out of the box"
Rob.
Definitely. Calculators in the classroom can be useful, but too often they can be used to cheat. For example, the TI-89 will do symbolic integration for you. A lot of people took advantage of that in my high school Calc class, and when the (no-calculator) test came around, well... I've been using a simple scientific, and it gets me through college physics just fine.
Maple and Mathematica are the only ones worth mentioning.
<^>_<(ô ô)>_<^>
MuPAD light and MuPAD for linux are free. It is a rich environment for symbolic math, numerical computing, and graphical visualization. It is, however, not open source software.
The merits of using computers for this sort of thing reminds me of Dijkstra's famous statement: "Computer science is no more about computers than astronomy is about telescopes." The statement is very applicable to math as well. I have a book on my shelf called Concrete Mathematics - A Foundation for Computer Science. It's all math, the fact that it's for computer science is irrelevant. You needn't a computer to make sense of it. Until kids have actually learned the math (and in high school, they really haven't), I don't see the need for computers.
"Nature doesn't care how smart you are. You can still be wrong." - Richard Feynman
High school kids should be cranking out simple mathematical proofs with pencil and paper. In the end, the analytical solutions (if possible) to very complicated engineering and science problems are formulated on paper. Computers are then used to calculate the solution as doing them by hand at that level is simply not reasonable. High school and most college students will not be solving such problems. Pull out a pencil, paper, and a good eraser.
"Tempers are wearing thin. Let's just hope some robot doesn't kill everybody." --Bender
How do you calculate or code something that has triple integrals in it?
... ;-) ).
usually, the case which requires triple integration is much easier to be thought of as 'integration over VOLUME", which can be converted to something else...
I (after getting my M.S. in Physics in "Soviet Russia" -- literally -- and my M.S. in CS in the good old U.S.ofA.) was quite shocked to read rather recently that in the original Maxwell's equations there were, like, 21 of them -- one for each spatial direction, I guess... the ones I remember are 4, and the one I vaguely remember is just one (the relativistic one, with a square symbol instead of the upside-down triangle for nabla
Paul B.
Just a serious Q for someone with 5-digit UID -- really, do you think Maple gets anywhere near Mathematica in symbolic capabilities? last time I checked a couple of yours ago I was still inclined to go with "the crazy Steve"'s creation... ;-)
;-)
Not to mention the fact that I personally was friends with two real theoretical physicists (one in high energey, another one in solid state), and they BOTH had their favorite "integrals that Mathematica can not do symbolically", but them were extremely bright guys and they did spend time searching for the "wrong" one. _I_ myself encountered ones that Maple could not do in the course of day-to-day engineering work...
The students will be judged by the teachers who will be judged by the community.
Great, so if some town decides that math and science are the work of the devil, then no more math and science for the students in that community. Standards exist to ensure some kind of even playing field for all students. It would be a shame if most universities decide to stop admiting students from a particular school district, because of that district's community standards.
I already feel sorry for the students who are being forced to learn creationism in their public high schools. I would bet that top universities will be hesitant to admit them if they are interested in majoring in biology.
if it not a troll, it is a great story !!! (and I feel good about not being able to distinguish one from another, but I can actually imagine it to be true! ;-) )
Paul B.
I've seen about a dozen posts that denounce integrating computers with math instruction. They have the following flavor to them:
"Consarn it! When we was young'uns, we didn't need no newfangled addin' machin' to do our cypherin'!"
Consider this: Computers are to computer science what telescopes are to astronomy. I know this canard is meant to emphasize that computers and telescopes are only a small part of the science in these fields. But ask a computer scientist to give up their computer or an astonomer to give up their telescope, and you may have a fight on your hands.
Computers, calculators, etc. are just tools. Applied correctly, they can not only aid in the instruction of everything from mathematics and science in general, but they can also help learn a foreign language (Babelfish!), or aid in the diagnosis an automotive problem.
For those who *truly* believe that computers hinder the education of mathematics, consider this: Would you prohibit the use of a hammer in teaching carpentry?
"Rocky Rococo, at your cervix!"
The TI-89 is about the most useful device I've seen for most levels of math. It can do symbolic expressions well and won't be stumped in this department until late undergrad or graduate level work. It integrates, derives, and finds limits all symbolically or numerically. Plus its portable and you can use it on most tests (I used mine on the AP tests for Calc and Physics). I've had mine since sophomore year in HS and am now a senior in college If I lost it, I'd replace it instantly. As for the use pen and paper argument, I agree that these concepts need to be learned first without aid. Once learned, however, having a calculator to check your answers and do the dirty work for you allows you to do more complex problems correctly. TI-89s also do pretty print, so you can see if you got all of your parentheses right when doing long equations.
Many features are not directly offered by the individual software packages, OS or not. In particular the capability of generating sophisticated random exercises that can be used for open-question examinations.
More is to come but our experience shows that the existing tools are quite sufficient for freshmen needs in math computation.
WIMS can be accessed eith as a website, or as a local installation.
The key to success in mathematics is solid foundations. Help your son master general math topics and he'll never feel limited in upper level classes. I suggest buying a cheap ACT, SAT, or GRE study guide and working through the math tests. This will help him discover problem areas. After that I recommend buying high quality books; hardback and if you need ideas check out what the colleges are using. Don't get bogged down with software - it will only become a crutch. A simple graphing calculator would likely be best. Remember: he won't be able to use anything more than that on tests, so he might as well get use to it now.
Oh, geez, does no one understand the difference between a symbolic mathematics package (like Mathematica, Maple, or Calculation Center) and a numerical mathematics package (like Octave and Matlab)?
...).
...
There might not be such a great difference in functionality between Mathematic/Maple and Matlab, if you have the symbolic math toolbox (although the UI is totally different
Of course, I don't think Octave has a symbolic math toolbox or equivalent at present
Disclaimer, I'm the main developer, and I'm working actively in the new generation that's going to work on top of a plugin system, with the ultimate goal of integrating it into Gnumeric. Latest version of gtkextra, libscigraphica, and sg1 are currently in CVS. Hope you like it!
Haven't tried it myself but probably worth checking out: http://www-fourier.ujf-grenoble.fr/~parisse/giac.h tml
An Open Source CAS from the principle author of the HP 48/49 CAS. Available for Linux/Win/Mac/Arm.
One piece of open source math "software" I haven't seen mentioned yet is Planet Math, a math encyclopedia and community. Highly recommended and with a snapshot download if you need it.
---
It's wrong that an intellectual property creator should not be rewarded for their work.
It's equally wrong that an IP creator should be rewarded too many times for the one piece of work, for exactly the same reasons.
Reform IP law and stop the M$/RIAA abuse.
Speaking for my field, engineering, I need careless students who get the concepts like a hole in the head.
/and/ be accurate.
Engineers have to know the concepts
http://www.xs4all.nl/~apinkus/yacas.html
I never used it myself, but people have recommended it to me as a (small) substitute for mathematica symbolic calculations.
If a teacher is setting problems which are too large to be solved by hand, then the teacher is setting the wrong problems. Maths lessons should be about learning how to do stuff, not about producing pretty pictures.
Frankly, I feel the best way to learn math is the old way with pen and paper. The people who advocate computers as a necessity for learning math seem to be the ones who don't really know math...
In Norway we had this major restructuring of the high schools, they are now allowed to use advanced calculators (which are almost like computers for that purpose). It has gone so far that if you answer math questions (really simple stuff, no actual need for a calculator) by explaining the key combinations you used on your calculator, the answer is as good as one solved by hand. No one seems to stop and think about what way proves that you really know this stuff.
Perhaps this is also the reason why knowledge in math is on a steady downward trend in Norway, when compared to many other countries. The problem is that authorities do not want to go back to the old way of teaching math, because ''computers are the way of the future blah blah''....
For nice plots, there is an extra package:
Look at:
http://epstk.sourceforge.net/epstk/
Looks better than gnuplot
There are only 10 types of people in the world: Those who understand binary and those who don't.
in case they weren't already there (it's too much of a pain to read other comments cuz you have to filter all the crap): For statistical computing: http://www.r-project.org/ For numerical computations in a user-friendly environment: http://scilabsoft.inria.fr/
-- We are Microsoft. Linux is irrelevant. Openness is futile. Prepare to be assimilated. --
This is a plug for my project: GCalc.net. It's a graphing calculator written in Java so it'll run uniformly on any Java-enabled browser.
It's used by many mathematics classrooms around the world for demonstrations and assignments.
There are a number of software packages in the public eye, but like everything else, you need to really define the purpose.
If the purpose is just to get the right answer to a question, then Maxima or some other CAS systems will work. However, it is good to use to get the right answer and then go off and determine the method to get to the answer. (This was my failing)
If the purpose is to truly learn, then do not use the computer as a crutch. In the real world, most of the time you will have this crutch, but if you are going into the engineering fields, licensure as an engineer requires you to use simple calculators, nothing more.
Remember, on any computer system Garbage in = Garbage Out.
I have used gnuplot for some very simple graphing of functions. For higher math gams.nist.gov provides a wealth of functions and subroutines for math solutions in c and fortran.
Your so wrong, if anything we are trying to find smaller and smaller things, knowing how the little things work is very important.
Now, I could show someone how to implement a quick sort instead of a bubble sort, but wouldn't it be better if I explained to their how a quick sort worked so that they could implement btrees and leaf merging in other parts of their code.
Other things like doing a a=(a2)+a; instead of a=a*5; or being able to build a computer out of lego wouldn't be possible if we all relied on calculators to do the work for us.
thank God the internet isn't a human right.
Let's assume the Cost to develop a good package = $1.25M (5 developers for one year)
If Sales=1000000 units priced at $20 each, profit = huge
ElseIf Sales=20000 you have a dotbomb size deficit
But if price=$250, the break even (not counting the opportunity cost) is 5000 units. At 10k sales, you might have a decent return on investment.
Given the volume of sales on niche software such as Math packages, that's why the sales price needs to be high for a company to invest in development.
MATLAB has a symbolic math toolbox that you can also purchase. I don't know how this toolbox compares to Mathematica. Also, I don't know if octave has a similar symbolic toolbox or not.
Students who like math and want to learn how to program should consider learning Fortran. There is a free compiler called g95 -- see http://www.g95.org/ . A clean subset of Fortran 95 called F, especially useful for teaching, is available -- see http://www.fortran.com/F/index.html/ . Yes, Fortran is an old language, and some people have written spaghetti code in it -- in what language have they not? But versions of Fortran since the 1990 standard have all the features needed to write clean, modularized code.
Use Maxima. It does symbolic math very well. And if you're over in Linux, you can use Maxima as a plugin for TeXmacs for really pretty mathematical documents.
I always site Octave and Maxima when people ask about math software. One for numeric and one for symbolic.
There are three major pieces of symbolic software: Maple, Mathematica, and GiNaC.
Maple is great, especially for Calculus students. I consider Mathematica to be evil since they apparently bought out the major players in Reduce (an older symbolic math system still used in Russia), tried to buy out a major GiNaC developer, and send him threats when he refused. They're not as successful as Microsoft, but they might be giving MS's evilness some competition.
GiNaC is a GPL'd library for symbolic computation. You interface with it using C++. It's particulary good for physics, but if you use it, you can make it do what you need it to do....
The symbolic processing in Octave [-Forge] uses GiNaC.
Well.. yes, and no.
;)
If you sum an infinite (very large) number of terms, the Taylor/MacLaurin/Laurent series of a function will converege exactly at the point that you're expanding it around.
The problem is that the infinite-series expantions of trig functions given in textbooks (sin being the sum of odd powers of x, cos being the sum of even powers of x, alternating sign on each term, and each term divided by x's power factorial) are expanded around x=0.
However, as long as you're using the right approxomation (centered around a point near the one you're interested in; this would likely require you knew at least 3 series: centered at 0, -pi/2 and pi/2) they're good enough
(Math exam is on saturday, complex algebra course, deals heavily with infinite series expansions of functions)
DJ kRYPT's Free MP3s!
I learned calculus (at the college freshman level; my high school was way too rural back then for anything like calculus courses) from the OSU Calculus&Mathematica program and thought it was great.
The advantage was being able to learn the principles of which you speak, without having to get bogged down in the mechanical aspects. For example, we'd be given a problem, we'd have to figure out the relevant equations and set up a system of simultaneous equations to solve (this is the real principle), then let the computer do the crunching to arrive at the solution.
(We also had paper-and-pencil tests where we had to demonstrate knowledge of the principles and a little of the mechanical stuff).
While the R manuals might not be good from the point of view of someone not willing to spend a lot of time with them, R has to have one of the best mailing lists out there. Last time I checked, there were 50 emails per day.
I once had a question about how to get the plot command to do something and I had an answer from 3 different continents in under two hours. Often, the people answering you have a PhD in statistics.
The R community is very enthusiastic, welcomes newcomers, and seems to be expanding at a great rate.
There are a ton of libraries available for R at any of the CRAN (comprehensive R Archive Network) mirrors, such as:
http://cran.stat.ucla.edu/
While it is true that R loads data sets into memory and that can put an upper limit on the size of the data sets you might want to manipulate in it, it also has a great MySQL interface that lets you use the MySQL engine as a sort of virtual memory manager to, in some circumstances, break out of the memory limitation.
So did we. We learned to sketch graphs in calculus. Use calc to quickly find minima, maxima, points of inflection and zero derivatives (flat spots). Algebra to find zeros, asyptotes, and zero denominators. There was a list of like 10 features we were supposed to find - by the time you get all that stuff on there, the graph is actually quite good. You learn a hell of a lot more than sticking the equation in a calculator or computer and looking at the resulting picture.
I wrote my PhD thesis using Axiom's source - Axiom has had c. 300 man-years work done on it. It is an unbelievable piece of work.
(It started in the early 1970's at IBM and was called Scratchpad, later Scratchpad 2 before being "sold" to NAG and rebranded).
Axiom 2 included a new compiler and a new language called Aldor (which was going to be called A# but apparently Sharp objected to the name. WTF about C# then?) and ran on other platforms than AIX 3.x. Solaris, Irix and in the end even Win32.
Unlike the "M'n'M" systems (Maple, Mathematica, etc). it is strongly typed and has its roots in Category theory and/or Universal Algebra - which is pretty much a necessity for and Algebra system to even make any sense. (OK, that's a loaded point - obviously Maple is a very good product without this basis).
Some things are currently missing from Axiom: Aldor - the re-implementation of Axiom's language by Pete Broadberry et al.; HyperTex - the online documentation browser with hyperlinks predating HTML! which are all loaded from the source files); and I believe the pretty GUI bits for graphs, 3D trefoil knots, etc.
Debian and Ubuntu users can just download it, the rest of us have to build it. (It takes about 2 hours on my 1133MHz box).
It is good. If you can grab a copy of Jenks and Sutor's manual then even better.
Bus error in your favour. Collect 200kB
I was on assignment in Arizona with a Toyota Corrola as my rental car. I must say, the Corrola handles desert off-roading quite capably. I'm glad it has a minimal skid plate up front - it got used several times. Don't ever, ever, ever, buy a used rental car ... they really mean "used."
A version or two back, I tried some operations on recursive matricies with Maxima. For example, construct a 2x2 matrix whose entries are 2x2 symbolic matricies. Take the inverse, you'll get a result but it is not correct. Note that the result should be the same as that of the 4x4. I'm not even sure this recursive definition of inverse is possible (that's what I was exploring), but Maxima gave me an answer with no warnings. I think the problem stems from having different operators for (matrix vs scalar) multiplication in Maxima. My other experience indicates it's a fantastic program.
I'll plug my site, http://www.knowledgedoor.com/, which has some unique unit conversion capabilities. We can take mathematical expressions with embedded units and convert them to units you specify (like Google) but we can also go directly to metric units. That is, you can put in a mathematical expression and we will suggest metric units for it. We can also take two mathematical expressions and check for unit consistency or extract their base units and dimensions. We return detailed error messages in response to conversion problems and warn you when you use units with different variations (like the pint, calorie, etc.). We've also got some great base conversion of integer and fractional numbers.
I am a graduate of the University of Illinois (Computer Engineering). The school had a pilot program of using Mathematica (developed in town- yes that's a throw down) to teach first year calculus. I didn't do it that way, I used a book, paper, chalkboard, and a professor. But I watched my roommate and several others I knew go through the course using the computer based course exclusively and simply learned very very little about basic calculus. They did the course on the computer, but took the regular exams on paper. By the end of the year he was still pausing on something like d/dx (x^2) (He eventually switched out of engineering altogether, by the way). These sorts of computer based tools are great, and particularly useful in many situations. But, having seen the results at my school, with the calculus class among others, they are terrible learning tools.
As a recommendation to aspiring engineers, there's simply no substitute for the basic classroom environment, learning from a book, and understanding what you're doing, rather than having the computer figure it out for you.
"MuPAD is a mathematical expert system for doing symbolic and exact algebraic computations with almost arbitrary accuracy"
Homepage. RPM
German software that will run on windows and linux. It will run graphically and also in a terminal.
Good Stuff.
If I remember correctly, you need to get a key to be able to use more than 6MB but the key is free for non-commercial use.
George II -- Spreading Freedom and American values, one bomb at a time.
Iverson, one of the developers of the APL and J languages, wrote a brilliant text on calculus which uses his notation/language, "J", to teach and compute calculus. The reason I call it brilliant is that it takes a completely different approach to calc than I've ever seen before, starting with polynomial approximations rather than limits, and including fractional derivatives and other amazing oddities. Oh, and in the process you'll learn J, which is worth the study -- you won't learn to program in it, but you'll learn to express yourself in it better than most programmers.
Check it out!
-Billy
*many* websites, which hardcode the textcolor to black, but assume you have a light background. grr.
I'm not sure about Firefox (or whatever your browser of choice is), but with Opera you can have customizable style sheets that are interchangeable with a single hotkey press, so you can override their background colors and foreground colors to make it white-on-black. If perchance it doesn't work with some particular site, or you want to see their actual color scheme, you can switch to their style sheet with the press of a button.
Just thought you might like to know.
Dlugar
Computer Go: Writing Software to Play the Ancient Game of Go
After years of doing C/C++ work, I had to take a MATLAB class as part of the freshman engineering cirriculum here at my college. And although I'm slowly being converted to a MATLAB liker, I still think its evil and so is the freshman engineering department behind it. Case in point, the lecture notes for the class cost $6.66. Coincidence? I think not.
Never put off until tomorrow what you can do the day after tomorrow.
~Mark Twain
Two excellent open source programs with a lot of mathematical and statistical power are R ( www.r-project.org) and MacAnova ( www.stat.umn.edu/macanova). Both are used in college level teaching of elementary and advanced statistical topics. R is almost a clone of S-Plus and MacAnova is in the same family but is not closely related. Both are extendable by writing functions or macros.
Easy to install and test out, and great package tools are onboard.
Recent versions are outperforming Matlab in number crunching benchmarks.
For a symbolic package, I personally prefer Maple to Mathematica.
I have taught calculus at the college level for a few years and I have a few thoughts....
Having taught off of matlab, maple, and mathematica I can tell you that NONE of them is instructive for beginning students. If you want to know the biggest problem that my students have, it is not calculus, statistics, or physics. They tend to understand the 'ideas' behind what they are doing. The area that they truly need to work is basic algebra and problem solving skills. Learning what a derivative is and the basics of how to find it are not difficult. Most of the students who fail, fail because they lack the skills to take a concept and apply it properly. Its like knowing syntax for a programming language but not having any idea how to write an algoritm that actually accomplishs a goal. Without these skills, the best software isn't going to help. That being said, understanding is enhanced much more with a symbolic language of which there have been a few good suggestions.
...without having to sponsor development of any corporations, it is high recommended to visit the following page:
FSF's Scientific Software Directory
Computer learning vs. brain learning. But if its learning, its learning. I detect bias.
I don't suggest that students should learn the basics first and then use the computer to speed up repetitive tasks, but rather that computers could be used to teach vocabulary and concepts while doing the detail work for the student. Repetition and by-hand drilling would come after the motivation of seeing what can be accomplished (i.e., solved) with the toolset.
Consider: very few people memorize logarithms any more. Lots of work, little return. Hmmm...
Visualization is a wonderful example, by the way, but for exactly the other side of the arguement. I've worked with students who couldn't get through Solid State because they couldn't visualize well enough. The thing is that with practice one can develop the skills to visualize. One has to be able to see it, first, to be able to imagine variations. Exposure to visual models (ball and stick, etc...) eventually almost always helps.
Of course "real men" don't use computers. And true "real men" don't use chalk, they draw with a stick in the sand. I guess uber-geeks should take classes in the dark, visualizing everything. Might take longer to get through an equivalent amount of material, though.
How about the names of some good text books to get him started then? :-)
Are there any decent online resources to jumpstart someone who is VERY rusty with mathematics?
I would start with MIT: http://ocw.mit.edu/index.html
It's free and openly available to all. This is not actually software but rather much better, it is the MIT courseware.
Retired dinosaur, simple user, volunteer, guinea pig
Interested how nobody's mentioned Axiom which is a general purpose CAS, most probably what the poster is looking for. It's a very mature calculation system with over 33 years of development (open sourced after the company decided that the product was not financially viable) that should do most if not all of the things the other systems such as Maxima can and more...
You could, at one time, get a dual-boot copy of mathematica, full-featured, for a hundred and fifty bucks. If you were a student. My daughter did this when it was in version three, I think. A small additional charge gave you a license to run it under either windows or linux. Probably the best commercial software deal I ever saw...
Since it fits nice:
x iomDownload
o pyright
x iomDocumentationAndCommunity#bugsandpatches
i shList
Announcing Axiom 3.0 BETA
This is to inform you that the free computer algebra system Axiom has now reached a very usable state.
Axiom is a general purpose Computer Algebra system. It is useful for research and development of mathematical algorithms. It defines a strongly typed, mathematically correct type hierarchy. It has a programming language and a built-in compiler.
Axioms homepage is at http://axiom.axiom-developer.org/
Instructions to download Axiom for the various platforms, including Linux and MS Windows can be found at
http://page.axiom-developer.org/zope/mathaction/A
The licenses under which the various parts of Axiom are released can be found at
http://page.axiom-developer.org/zope/mathaction/C
Clearly, Axiom is not free of bugs. For some of them, patches are proposed. However, these patches have not been applied yet. It is easy to do it yourself, as can be seen from
http://page.axiom-developer.org/zope/mathaction/A
Since the wish list
http://page.axiom-developer.org/zope/mathaction/W
is long, we decided to provide bounties, i.e. small amounts of money, for people willing to implement some of these features. Among others, we need people who would
* like to integrate a LaTeX-rendering engine into our Wiki http://page.axiom-developer.org/zope/mathaction
* know how to resurrect the connection to the alternative compiler Aldor
* know enough Lisp to make graphics work on MS Windows
* implement some of the missing mathematical algorithms.
Join us at axiom-developer@nongnu.org!