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?
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
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
Pencil + graph paper + ruler + eraser + brain
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.
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.
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.
Just wondering
I have mod points and I am not afraid to use them
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.
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
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
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.
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.
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.
uh.. comes in the same package as parent, but its RPN :)
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.
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.
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.
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
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
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.
mvdw: Have you considered a Toyota Camry?
Anonymous Coward: Oh, geez, does anyone know the difference between an off road vehicle and a sedan?
cameldrv: High-end off road vehicles have become more sedan-like lately.
Rui Carmo: WTF?
taken! (by Davidleeroth) Thanks Bingo Foo!
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
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.
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