There are a lot of good open source programs out there, but not many of them have direct application to a mathematics classroom the way Geogebra does. Geogebra is a software package for creating and manipulating geometric objects. It also allows for graphing of funcitons and manipulating the functions in all sorts of interesting ways. It runs on the Java framework, which means if you have Java installed on your computer, you can run Geogebra, which makes it any Java enabled operating system. This means the very same program will run on Windows, Mac, Linux or Solaris, although the installer is different for each operating system.
If you are planning on using the program with your students, it is nice to know that they can install the program for free, and that it is very likely to work on their computer. The only caveat is that you need to make sure the students have the right version of Java installed if they have any problems as this can sometimes be an issue.
Geogebra has all of the standard Geometry software functions. You can add lines, circles, ellipses and all other sorts of geometric functions to the document. You can also make one object a dependent of another object which means that changes in the original object propagate to its dependent objects. So in other words, if a you draw a line segment which depends on the location of point A and point B, changing either point A or point B modifies the line segment.
There are 2 cool things I like about Geogebra. The first is that you can export your working file as a dynamic worksheet on a web page, which means you can easily make what you are working on web ready. The second feature which I use all of the time is the ability to export my current file as a picture in PNG (and a few others) format. This allows me to use Geogebra to create graphs for inclusion in my online posts, something my students and I use Geogebra for all the time.
Geogebra also has an input textfield, which means that every command you can use the interface to enter, you can also type in. Some commands are done much more easily through the input textfield, things like entering y = x^2 + 3x which uses the nature notation to graph a function. Entering Function[x^2, 0, 2] graphs the function over the domain from 0 to 2 for x. Very handy.
Using Geogebra with your classroom is an affordable way to bring high quality geometry software to your classroom at an extremely affordable price (its free!!). I’ve only scratched the surface of what Geogebra is capable of doing, I suggest you try it out yourself. Maybe when I have time I’ll create some tutorials on using it.