This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new!

Feature: Education & Training

Learn and teach geometry and algebra with GeoGebra

By Murthy Raju on October 24, 2007 (9:00:00 AM)

Share    Print    Comments   

GeoGebra, a GPL-licensed teaching and learning tool that integrates geometry, algebra, and calculus, benefits both teachers and students alike. Developed by Markus Hohenwarter at Florida Atlantic University, GeoGebra constructs geometrical figures and demonstrates the relationship between geometry and algebra. GeoGebra can help you create interactive demonstrations and precise images of geometric figures for inclusion in teaching and testing materials.

GeoGebra is a cross-platform application written in Java, and it works with Java 1.4.2 or above. You can download the installer from the GeoGebra site. In the case of Linux, the installer is a shell script that unpacks the JAR files and libraries and creates a launcher for the application. Administrators can do a system-wide installation, while ordinary users can install the software in their home directories for personal use. You can run GeoGebra with the command geogebra.

GeoGebra has a simple user interface with an uncluttered menu bar and a toolbar with a small set of icons. It's a good idea to explore all the available menu and toolbar options before you start using GeoGebra seriously.

The workspace is divided primarily into two vertical frames -- the Algebra window and the Geometry window. A small input box for entering commands resides below these two frames. Constructed figures are displayed in the Geometry window, which shows coordinate axes and a configurable grid to help you place the visual objects in the window properly. The Algebra window presents the algebraic representation of the geometric figures, as well as variables that cannot or need not be represented visually. The Algebra window also represents the geometric figures that you may choose to hide in the Geometry window. You use the input box to enter commands manually for creating visual geometrical objects or nonvisual objects such as variables.

Construct a simple example

To see how GeoGebra works, let's build a figure. Assuming the vertices on a triangle are labeled A, B, and C, you can construct a triangle with a right angle at B by following these steps:

  1. In the Geometry window, click on the point icon on the toolbar, and click on any two points in the Geometry window to create and display two points named A and B.
  2. Join the two points by clicking on the line-segment icon in the line drop-down on the toolbar and clicking on A followed by B.
  3. Choose the perpendicular line icon on the toolbar. Click on the line segment AB and then on point B to draw a line perpendicular to AB at B.
  4. Create a point named C on this perpendicular line by clicking on the point icon and then somewhere on the perpendicular line.
  5. Choose the polygon icon in the line drop-down, and then click on A followed by B, C, and A to complete the triangle.
  6. Right-click on the perpendicular line you created in step 3 and uncheck Show Object to hide the perpendicular line from view in the Geometry window. Now, only the right triangle ABC is visible.

While you're doing the construction in the Geometry window, the numerical/algebraic representation is being presented in the Algebra window. GeoGebra treats all entities as objects. Some objects are independent, while others are dependent. For example, if you create two points A and B and then create a line segment joining A and B and name it c, A and B will be independent objects, and c will be a dependent object. You can modify all independent objects from either the Algebra or Geometry window, as long as they're visual objects. Dependent objects automatically change based on any changes to the objects that they depend upon.

You can also use the command-line input tool to create algebraic or geometric objects, as well as variables used in subsequent algebraic expressions. For example, you can draw a line by following these steps:

  • Declare a variable m and assign it the value 5 by typing m = 5 in the command window.
  • Repeat the process for creating a variable b and assigning it the value 10 by typing b = 10.
  • Type y = m * x + b. The line representing y = 5x + 10 shows up in the Geometry window.

Notice that the line and the values for m and n are represented in the Algebra window. m and b are independent variables, which makes them editable. You can edit them by double-clicking the line representing the variable in the Algebra window. When you change the value of m or b, you'll notice that the line changes automatically to reflect the new value.

You can get even fancier. Construct a parallelogram by entering the following sequence of commands into the input box:

              A = (1,1)
B = (4,5)
l = line[A,B]
C = (7,5)
m = line[C,l]
n = line[B,C]
o = line[A,n]
D = intersect[m,o]

Take advantage of the options and features

GeoGebra's Construction Protocol displays the series of steps that resulted in the current figure. By navigating to View -> Construction Protocol, you can view the Construction Protocol window, where the navigation buttons let you review the construction step by step. When you want to replay the sequence of steps, you can use the automated Play feature, which lets you configure the intervals between steps. You can export the Construction Protocol with or without an image of the figure as an HTML page, or you can print a summary of construction steps from this window.

GeoGebra also lets you plot equations in one or two variables. For example, if you want to plot tan(x), you can simply type y = tan(x) in the input box. You can plot any function in x and y by entering the equation into the input window. For example, x^2 + y^2 = 25 would be plotted as a circle. GeoGebra supports all commonly used trigonometric, arithmetic, and calculus functions.

GeoGebra has various options for exporting the geometric figures you create. You can export them as image files. If you want to export the construction as an HTML file, the application will create an applet to view or further manipulate the figure. The applet has all the features of the application. You can further tweak the applet-related options in the HTML page to enable and disable the applet's various features, such as the ability to manipulate the figure further. This feature makes GeoGebra an ideal candidate for educators who need to create demonstrations and interactive dynamic worksheets. Check out an example of a dynamic worksheet.

You can control GeoGebra applets by using the provided JavaScript API, which can help you get and set properties for any object rendered in the GeoGebra applet. You can use this API to develop dynamic worksheets, assignments, and Web-based instructional or testing modules. You can also enhance GeoGebra by adding your own tools or macros to represent a custom sequence of commands.

GeoGebra's feature set compares well with that of the popular commercial application The Geometer's Sketchpad. Other GPL-licensed applications such as Kig and KmPlot lack many of the useful features present in GeoGebra.

Murthy Raju teaches computer science and manages a small network of Linux computers at Rishi Valley School in India. He has worked in systems and network administration and technical support for various open source and commercial products on Linux, Unix, and Windows platforms for seven years.

Share    Print    Comments   


on Learn and teach geometry and algebra with GeoGebra

Note: Comments are owned by the poster. We are not responsible for their content.


Posted by: Anonymous [ip:] on October 24, 2007 11:23 AM
alternatives exist for those (like me) who dislike java


I was scratching my brain...

Posted by: Anonymous [ip:] on October 24, 2007 03:35 PM
..only this morning,
trying to dig into the recesses to remember the various plotting formulas for circles and the like.

Useful coincidence!


Learn and teach geometry and algebra with GeoGebra

Posted by: Anonymous [ip:] on October 24, 2007 08:29 PM
This looks like a fun new toy to try for a little while.

You may want to watch your wording in a public article. Use "desktop users" in place of "ordinary. I already know that I am a boring, ordinary, middle aged , white guy from California. "Administrators can do a system-wide installation, while ordinary users can install the software in their home directories for personal use".


Learn and teach geometry and algebra with GeoGebra

Posted by: Anonymous [ip:] on October 24, 2007 08:38 PM
Very nice! The link to the dynamic worksheet (Pythagorean theorem) shows a construction proving the theorem which was discovered by then general James Garfield of the United States Army. He would later become a U.S. president who was unfortunately assassinated.


advertizing co-op

Posted by: Anonymous [ip:] on October 29, 2007 08:50 PM
Most broadcasters are organized like a bussiness including a sales team to sell ad space. I don't know why a station wouldn't offer a package or work to gether to creat an exchange market that matched advertisements to web pages. This could reduce web hosting cost or provide revenue streams for web sites. The top web pages could compeat for the best priced advertisements. Advertisers could filter content as well geographic reach. Or, tune how much they wish to spend by frequency, type of associative content, or pages that on average get less traffic. This piggy backs the organizational infrastructure allready in place while giving established bussinesses additional products. The economic insentive could be used if workable to drive competitive education and product overlap, to develope system efficencies. I guess as a starter a broadcaster or station or media outlet could offer to pay for web hosting for station filtered sites and could refuse suport if the page was unpopular or did not meat some criteria.


Learn and teach geometry and algebra with GeoGebra

Posted by: Anonymous [ip:] on November 30, 2007 01:30 AM
Thanks for brining this tool to light for the general public; i.e. Linux users and potential Fossed users. I have used GeoGebra for over a year now in the high school geometry courses I teach. Normally I use Geogebra in conjunction with an ActiveBoard, for lecture demonstrations and to promote student interaction with geometric constructions. I have found it to be equal to or superior to Geometer's Sketchpad for the same purposes. The fact that the deep connections between Euclidian geometry and coordinate geometry are demonstrated in real time make it particularly suited to the mathematics classroom.


This story has been archived. Comments can no longer be posted.

Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya