Here are some tools which I've either used (or explored) for mathematics education. They aren't all open source, but they are all extremely useful, and they are all free to use (free as in free beer, some of them are also free as in free speech).
This program lets you explore algebra and geometry, much like it's proprietary cousin, Geometer's Sketchpad. Having used both, I actually prefer Geogebra because I find it to be more flexible and easier to use. It requires Java to run, and can either run in a web browser with no download, or you can install it to your computer using the offline installer.
The Mathematics Visualization Toolkit is exactly that, a program which lets you visualize mathematics. You can use it to build complex visualizations, or you can use the visualizations which are already included (which are awesome by themselves). You can either use the web start version of the toolkit, or download an offline installer.
Scratch is an excellent program for learning programming but also mathematics like variables, sequences, Cartesian coordinates, and other useful mathematical concepts. Developed at MIT, it is a free download and includes a strong user community to seek help, and see what else can be done with the program.
Netlogo is "a multi-agent programming modelling environment" (According to the Netlogo website). It comes with hundreds of models for all areas of science and mathematics preprogrammed. It is a free download and will work on any computer which has Java 5 or later installed.
Audacity is an open source audio editor and recorder. One example use in mathematics is to record a bouncing ball, and use the visual data from audacities recording to turn this into a graph of bounce versus time between bounces. You can also use it so students can record 60 second podcasts explaining some aspect of mathematics.
Calculize is a free (currently) web app which lets students perform mathematical computations using a reasonably simple programming language.
Wolfram Alpha is a computational engine built on top of the Mathematica architecture. It is amazingly powerful, and turns some homework assignments into a breeze. Recommendation: change your homework assignments, or do away with them all together.
This is a free online graphing calculator. It emulates a lot of the functionality of a typical graphing calculator but with a much easier to follow user interface and without much of the non-graphing functionality of a graphing calculator. It is easy to create graphs, and then share those graphs with other people. It is also currently in development, so it is still improving over time with new features being added every couple of months.
This Logo emulator lets students play with the classic programming environment Logo, built for kids by Seymour Papert and his colleagues at MIT, all online. It requires Java, but should run on most computers (sorry, no iPads...).
Google Earth is free (but proprietary) software that allows students to explore the world in 3d. One could use it for GIS applications, or even to explore the relationship between our 2d mapping system (longitude/latitude) and 3d space.
Google Sketchup (another free, but proprietary program) that allows students to create highly complex (or very simple, if they prefer) models. I've used it to have students construct their "ideal" school, and then from this model, they calculate the cost to build their school.
Screenr is a free (for up to 5 minute recordings) screen-casting (think record your screen as a video) software. Some possible uses of it are for students to use it to create video tutorials, record their process of solving a problem, or create their own video word problems. Another alternative for screen-casting is Jing, but it publishes to a format which is harder to share in the free version.
Endlos is an open source fractal generator which I've found runs very fast. It runs in Java, so it should run on any computer capable of supporting Java. The ability to experiment with, and explore fractals is a very interesting thing for students to do, but very tedious to do by hand...
The Number Race is an open source program intended to help students who have dyscalculia develop their number sense. It has many levels of difficulty, and runs in Java, which means it should run on a wide variety of computers.
This free to use online equation editor could be a nice way for students (and teachers potentially) to construct equation images for use in a website.
Eigenmath is an open source program for symbolic manipulation in math. It runs either in Windows or on a Mac. Some examples of what it can do are shown above.
These 9 free programs cover a wide range of different types of mathematics. Above is the popular statistics calculation and visualization program included in the package.
Yacas (Yet Another Computer Algebra System) is a command line program which allows for the symbolic manipulation and calculation of mathematical expressions. One thing I like about it is that it calculated 600! in a fraction of a second, so it is very fast (an aside, ever wondered what 6000! factorial is?)
Free CAS programs
Update: Just found an open source implementation of LOGO (as described in Seymour Papert's Mindstorms) here: http://www.softronix.com/logo.html
Other free programs which I have used either for constructing mathematical diagrams/simulations or with students in some way include:
You might find these programs as useful alternatives to the "free apps" which "help" students memorize formulas & algorithms. For an enormous list of other free programs see this helpful list.
What other free programs for mathematics education do you use with or for your students?
David is a Formative Assessment Specialist for Mathematics at New Visions for Public Schools in NYC. He has been teaching since 2002, and has worked in Brooklyn, London, Bangkok, and Vancouver before moving back to the United States. He has his Masters degree in Educational Technology from UBC, and is the co-author of a mathematics textbook. He has been published in ISTE's Leading and Learning, Educational Technology Solutions, The Software Developers Journal, The Bangkok Post and Edutopia. He blogs with the Cooperative Catalyst, and is the Assessment group facilitator for Edutopia. He has also helped organize the first Edcamp in Canada, and TEDxKIDS@BC.