GeoGebra is dynamic mathematics software for all levels of education that joins arithmetic, geometry, algebra and calculus. On the one hand, GeoGebra is an interactive geometry system. You can do constructions with points, vectors, segments, lines, conic sections as well as functions and change them dynamically afterwards. On the other hand, equations and coordinates can be entered directly. Thus, GeoGebra has the ability to deal with variables for numbers, vectors and points, finds derivatives and integrals of functions and offers commands like Root or Extremum. These two views are characteristic of GeoGebra: an expression in the algebra view corresponds to an object in the graphics view and vice versa.
M. Yerushalmy, and B. Shternberg. Beyond constructivism: A model and modeling perspective on teaching,learning, and problem solving in mathematics education, Lawrence Album, Mahwah, NJ, (in press)
J. Smith, and P. Thompson. Employing children's natural powers to build algebraic reasoning in the context of elementary mathematics, Erlbaum, New York, (2007)
C. Bergsten. Proceedings of the 30th Conference of the International Group for the Psychology of Mathematics Education, 2, page 153-160. Prague, Czech Republic July 16-21, (2006)