Once in a while, I like to go back with nostalgia and take a look at the software that I was using as a kid. And recently, one of them surprised me by its development: GeoGebra, the dynamic geometry tool written in Java. What surprised me in reality is not that the program suddenly became better (it was always very good), but more the discovery of how complete it is. There are multiple ways to use GeoGebra. You can stick to the middle school level and just use it to draw figures. Or you can instead go straight out of high school and combine it with scripts and fancy functions.

## Installation

Since Ubuntu 10.10, GeoGebra is in the official repositories. Therefore, you can install it via your favorite command line:

if you are using Gnome,

sudo apt-get install geogebra geogebra-gnome

or for KDE,

sudo apt-get install geogebra-kde

If you are under an older version of Ubuntu, or not using Ubuntu, I invite you to search for an additional repository, or take a look at the official download page for Linux.

## First Steps

As I said earlier, GeoGebra is very complete at multiple levels. What I will try to do now is give you a little introduction to all of these levels. The first one is the most obvious use of the program: to draw geometric figures as if you were using the traditional compass and ruler. It becomes possible to draw a square with mathematical rigor, based on a circle, parallel and perpendicular lines only.

The objects that you can use are easy to access; you can select the option that you want from well-organized groups. For example, creating a perpendicular line is in the same category as the parallel ones. On the other hand, you can choose between a line and a segment from the same button.

A second level is the possibility to graph functions. It can become very handy to be able to trace a curve from a formula, and make a point move along it. For that, you can simply enter an equation like “y=2x” in the bottom text field, and the line will appear.

It then becomes possible to add a point on that curve as a linked object: even if you change the formula, the point will follow and stay on the curve. And opposite, you can modify the point’s properties via a dialog window.

You will also find a simple spreadsheet system within the program, with some basic functionality that a program of that type can offer. You can use formula, sort, and add data together. There is even a probability computation option.

Finally, GeoGebra integrates a certain level of scripting and user interaction. You can add an object like a cursor on the sheet. Moving it will affect a variable that you can name and use in other formulas. I made a basic example of that, I linked the cursor to a line defined by the equation y=2x+b. Moving the cursor along will change the value of b and therefore define the y-intercept of the line.

You can of course do some more interesting things with such system, and it is even possible for the experts to use some JavaScript or HTML5 to interact with GeoGebra.

## Conclusion

If you want to go further in learning about the advanced functions of GeoGebra, you can go and take a look at the wiki. However, I think that the program is so well designed that you can solve most of your problems by inspection all by yourself. It is quite rare to find a program that is so complete on different level of usage and yet remains simple and well organized. As an alternative, I can also propose you software like Kig, Dr Geo, Geonext, CaRMetal.

What do you think about GeoGebra? Do you use it? Do you prefer and alternative? Or do you have a script that you would like to share? Please, let us know in the comments.