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?
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
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.
There is R
R Project
Online backup with Mozy, sounds like Ozzie, but more!
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.
NumAnalII was taught in MatLab, but Octave worked for me. Never had any problems. Loved the emacs modes! Write scripts in one emacs window, run an octave process in another emacs window...send the current line (or function, or selected text...etc) to the process for evaluation. Very sweet.
Yeah, and guys in the stone age did math with rocks and did fine too.
But I think progress education of younger generations if we allow them to use new technology. Introducing math to kids in middle school allows them to become more familiar with the technology. Like, my dad can do math perfectly with pen and pencil but can use a computer or graph on a calculator. That shows the difference in generations.
No.
Software is useful. As a freshman in trig, I was learning calculus on my own, and Mathematica helped. There was one derivative in particular which I couldn't figure out; after using Mathematica to find the answer, the method whereby you reach that answer came to me a few days later -- it was much more obvious from the answer than from the question. There have been countless discussions between my friend and I as to how Mathematica arrived at a certain solution.
You try doing large integrals with pencil-and-paper and then come back and tell me that mathematics software isn't worth it for highschoolers. The only thing I can see is "useful" is the handwriting practice.
the quickest way to the brain is through the fingers
Software which shows you how to work a problem gets to the brain a lot quicker than fingers which have no idea what to do. Besides, I have seen countless cases of classmates in physics who have no idea what they're doing but can write down the examples that the teacher gives without fail.
The problem, of course, is software which devolves to mindless number-punching. I frown upon that - except when you would be punching in the same numbers into a calculator, surrounded by some function signs that are relatively obvious, or when you'd be sitting there for 2 hours working the problem by hand. Apart from stupid programs, it's hard to claim that writing out things helps you work better than using calculators and computers.
Of course some integrals are hard. That is why there is a table of integrals in the front (and back) cover of almost every calculus book. However, that does not mean you don't have to learn the method to solve those integrals.
Learning is MUCH more complicated than simply absorbing the ability to do certain well defined tasks. There are abilities gained when working hard math problems that are far more important than the math problems themselves, at least in the case of difficult integrals.
Having done 'large integrals' by hand (and having slid through using my TI-89) I can tell you that using a table (or math software) will come back to bite you.
Learning is SUPPOSED to be hard (see Pinker: The Blank Slate or How the Mind Works) because if it isn't hard then you aren't learning anything. You cannot find an easy way ('no royal road' -Euclid) and you cannot trick people into learning using gimmicks. You just have to sit down and work at it until you get it.
Your example of not being able to do a derivitive is CRAP. Everywhere in America are libraries, and every library has a calculus book. These will not be checked out, trust me. Go get one. Also, there is a publisher called "Dover" which sells fairly decent books for like 10 bucks. So the 100 dollars for a student edition of mathematica (I know I know it was free for you because you stole it) is hardly worth the money compared to what is available free or cheap. Note: If you are doing 100 or 200 level mathematics then you aren't doing anything that is really hard enough to require mathematica to do it, (except for diffyQ where they sometimes give assignments which require Matlab or Mathematica for charts and stuff).
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.
I was learning calculus on my own
If you're learning calculus on your own, you're going to expect things to be different. For people who have the luxury of a class where they learn calculus, I think you'll find your argument doesn't hold. Certainly I recall that in second and third year calc, when asked to compute a derivative or an integral we would usually be given the answer. That way the lecturer could ask a more complex problem that tested more techniques and still expect the right percentage of students to get it correct. Naturally, the answer is not always given to ensure the technique of working backwards is not always available.
I am aware of the United States' failing academic standing. It's sad really because we were once great leaders. The problem in schools now is that students don't really want to learn, they've simply become complacent. Worse it seems like too many teachers have fallen pray to this as well, they don't want to teach. This sounds like a completely opposite sittuation however, more power to them.
As for computers in comp sci, math, and other I don't know how much I can argue that they should be in "soft" classes. If they help, great. If they're not, perhaps it's a failing of the use of the tool not the tool itself. I can't really say, I didn't have computers in my classes but I wasn't using a slide rule either.
Tools for learning are important and if they're not working properly examination of why is equally, if not more, important. Kids that don't care are fairly well doomed, but kids that do should be given every chance and tool to help them along be it "hard" or "soft" course work.
I am invisble, and you can't see me.
Actually its totally appropriate. Highschools that want to do CalculusI thru DiffEq for their advanced students use Mathematica and Calculus Remote from The Ohio State University (CROSU), or University of Illinois at Urbana-Champaign's Netmath program. I believe Harvard does the same.
I think a problem might be that you associate highschool math with trig. Using Mathematica in a self-based course of instruction they can move as fast as is natural for them. Why not let the kids move past dull rote mechanical skills and learning by doing something useful?
Is there really any reason why (the undergrad intro) QM can't be taught in HS using visualization and moderate Linear Algebra skills? I mean, if they can get as far as DiffEq? Isn't it more the *style* of instruction (chalk vs. powerpoint), and what we have them do for homework that holds them back more than the concepts?
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.
Is there GPL software comparable to MathCAD? Due to the pioneering work of Martin King (http://www.quarter-wave.com/) the latter has become popular among DIY builders for modeling transmission lines speakers. Most though can't justify the ~$1000 for hobby software and use MathCAD's crippled demo, Explorer 8.
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.
A package like Mathematica might be inappropriate to present to everybody on a high school math class, but for somebody who is likely to become involved in mathematics at a tertiary level surely there is some utility in them being familiar with this kind of package, and at very least there is no harm in it.
Plotting a few points might be suitable for many concepts, like displaying the behaviour of a low order polynomial, but what about the behaviour of a function like sin(1/x) as it approaches 0? I tutor quite a few first year mathematics courses, and based on many students understanding of the behaviour of quite simple functions I would encourage anyone in late highschool who was interested to play with a math package.
You haven't seen high school girls pull out their TI-83 PLUSes so they could discover that 40 + 8 equals 48. (This actually happened. In an honors math class.)
There is no reason students shouldn't have a basic scientific for say, things like calculating pe^(rt), but graphing calculators are unnecessary. They cause students to learn how to do a sequence of operations for finding the answer to a question which they'll get on next week's test, not how the problem actually gets solved. If the kids are being taught concepts and not arithmetic, wouldn't the problems and scenarios be designed to make the arithmetic trivial anyway?
It's still GIGO unless you know what you're doing without the use of the machines.
Too lazy to create a sig...
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.
Well, a lot of high schools teach the AP Calculus AB and BC courses, which are the equivalent of a first and second semester calculus course respectively at the college level. In my school of 2000 there are 3 sections (each of about 25 students) in AP calculus 1, and about 20 in AP calculus 2. Additionally, 2 students maxxed out with Cal2 in their junior year and are taking 3rd and 4th semester calculus at the local university. Total for all students in Calculus then would be about 4.85% of the school population. DE are covered in the cal2 course at my school, so about 1.1% of the student population would have use of mathematica by your reasoning. Still not very many, but still a far cry from 0.001%.
:)
That said, a computer algebra system period is useful in learning calculus if you're at all of the curious sort. Taking AP Cal 1 I've used my 89 to answer all sorts of questions I have about why you can't do things. And its faster than looking up the answer in the back of the book usually.
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.
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.
[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.
That would be the part where they make it impossible for anybody else to develop the thing any further, so that it suits their needs when the original developer has no interest in them. There's a reason why proprietary software sucks.
I've never heard marx defend propriety software... kudos!
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.
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
If you want something like Maple, but open source, try getting Maxima. It runs on Windows and Linux, can do algebra, calculus, and a good amount of other stuff, and you can use TeXmacs as a front end.
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.
My dad was a physicist at ORNL who started using the DOE MIT version of Maxima in the early 1970s. He thought Maxima was the greatest thing since sliced bread. His division hired a new Phd at one point whose dissertation had taken 18 months to derive by hand. When he joined ORNL, he ran the problem through Maxima. Only took an afternoon and he was quite relieved when Maxima got the same answer he had gotten by hand.
FreeSpeech.org
Every time a discussion of math packages comes up, Octave is always mentioned right away, but Euler gets ignored. I'm curious why people seem to prefer Octave over Euler so much that Euler is virtually unknown.
As somebody whom has had to correct the work of students before, I can tell you that it is enormously frustating work when you know that the student has down the concept that you are currently working on but is making mistakes (often of the simple careless type) in less complex or related concepts--causing the student to get the wrong answer, become frustated, and often fail to realize (now matter how much you reassure them) that they did it right the first time and messed something else up--not the concept that they were trying to learn (and therefore the concept that they assume is the source of all errors).
Calculators can help, if used properly, to lessen the number of arithmetic errors that the students make in the hurried frenzy to get the problem done and find out if the answer they have devised (but not yet calculated the numeric value of) is correct. Working slower would be a solution to the problem if it were not for the fact that students in general are being assigned more homework in the very conceptual and complicated classes (that we are talking about) than ever before (while the students in less advanced classes are doing a lot less homework than in the past, despite the fact that it would actually benefit them more). Allowing the students to use technology is a way around the perceived need to drown students in work to teach them new concepts.
Not only was I, but almost all of my friends, were doing Diff. Eq. by their Senior year. Of course, we were teaching ourselves because High School only gets to Calc II. I was the math geek of my crowd and I was into Calc III, Abstract Algebra, and just getting into Tensors. BTW, when tested in HS, my IQ was only 145. Don't tell me that High Schoolers can't hand the stuff. High School students can and will be able to learn advanced math if they know that they can access it. Math software may be just the thing. I have found when tutoring, that being able to visualize the math, is the key to understanding it. Almost all of the programs I wrote ( in the mid 70's) were for exploring math. Access to a good library ( my dad was an EE), computors, and a few really awsome instructors did it for me.