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.
to reset the applet to its initial state f(x) = 5 * cos(x) and press Enter to change function f.Slope[t] and press Enter to get the slope of the tangent t.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.