The Journal of Online Mathematics and Its Applications, Volume 7 (2007)

GeoGebra, Markus Hohenwarter and Judith Preiner

On one hand, GeoGebra is a Dynamic Geometry Software (DGS) that supports constructions with points, lines and all conic sections. On the other hand, it provides typical features of a Computer Algebra System (CAS) such as function plotting, root finding, derivatives and integrals. That's why we call GeoGebra a *Dynamic Mathematics Software* (DMS) for geometry, algebra and calculus.

There is no other way of gaining access to the mathematical objects but to produce some semiotic presentations. [...] There is no true understanding in mathematics for students who do not incorporate into their cognitive architecture the various registers of semiotic representations used to do mathematics. (Duval, 1999)

The basic idea of GeoGebra is to provide two representations of each mathematical object in its algebra and graphics windows. If you change an object in one of these windows, its representation in the other one will be immediately updated. Let's take the example of a quadratic polynomial `f` and its tangent `t` through a given point `A`. Below you see this situation in GeoGebra. When you drag point `A` with the mouse along the graph of `f`, its tangent `t` will change and adapt to your modifications. In the algebra window you will see how the representations of the affected objects are updated accordingly.

Editor's note, May 2014: For an HTML5 version of the above applet, click here.

- Graphics window (right):
- Click and drag point
`A`with your mouse. - Click and drag function
`f`with your mouse. - Click on the icon to reset the applet to its initial state

- Click and drag point
- Algebra window (left):
- Double click on point
`A`, change the`x`-coordinate and press*Enter.* - Click on point
`A`and press the right and left arrow keys on your keyboard. - Right click (Mac OS: apple click) on tangent
`t`to change its equation to "Equation`a``x`+`b``y`=`c`" or "Parametric Form".

- Double click on point
- Input Field (bottom):
- Type
`f(x) = 5 * cos(x)`

and press*Enter*to change function`f`. - Type
`Slope[t]`

and press*Enter*to get the slope of the tangent`t`.

- Type

If you are interested in more information on how to use GeoGebra please have a look at the GeoGebra Quickstart (pdf) and the GeoGebra Help (pdf) documents.