Lessons on Rigid Transformations Using
the Web and Java Applets

C. P. Mawata

A CECA CCI Program Supported Project, Summer 1998

Abstract
In this project I wrote a set of geometry lessons covering topics in rigid transformation at a level suitable for undergraduate University of Tennessee at Chattanooga students intending to teach at the elementary school level. The lessons are in the form of web pages utilizing Java applets for animation. Java code for the applets is made available for interested members of the community to study and reuse.

1. Introduction

The reader is no doubt aware of the current popularity of putting information on the world wide web. Information is put on the web principally because, on the web it The three reasons given above are valid and in themselves justify the effort people put in preparing lessons for use on the web. However they only address problems of access to the materials. My main interest is in how web technology can be used to enhance the educational experience itself. Suppose for a moment that we took away the above three reasons or simply considered them as a bonus. Would we still have good cause to use web pages in teaching as opposed to paper handouts, for instance?

Prior to 1995 the only reason to use web pages as opposed to paper handouts was that one could insert links in the document so that a group of interrelated documents was connected in an appropriate way. This allows easy navigation, for instance from a technical term back to the point in a previous lesson where it was defined. An example of such an educational use is a set of graph theory lessons [1] that I developed with support from several CECA grants.

The web has of late become a lot more interactive. Several technologies allow a web page to mimic any of the other standard media like slides, movie projectors, sound tracks etc. Of particular interest is the use of Java in education. Java is a computer language in its own right like other languages the reader might be familiar with, e.g., C++ or Basic or Pascal. What web authors find fascinating about Java is the ability to produce applets. These are programs that will run inside a web page. The applet is allocated an area on the web page and some memory and operates like a little computer within the web page. This is a very malleable medium for us to shape and use as we please. In [2] I talk about some of the ways in which applets can be used to enhance lessons.

2. Objectives of the project

The immediate objective for this project was the production of a set of lessons on the web on the topic of rigid transformations (reflections, rotations, translations). These lessons are at a level suitable for students majoring in elementary school education. I already had applets written for the teaching of geometric constructions and the Pythagorean Theorem. The applets developed in this project together with the ones already at the site give several topics that can be studied in sequence.

A second objective, perhaps in the long run a more important one, was to disseminate the techniques used to write applets. The project was deliberately developed in a very transparent way to allow others to take the code apart and study how it is put together. All the source code is available at the web site with copious notes for interested parties to download. Students of Java might find it a good project to rewrite the applets using Java 1.2, while teachers wanting to learn how to write lessons using Java might write their own HTML text in which to insert applets found at this site using the applet tag.

I intend as a longer term objective to apply for external grants to fund the development of more such materials.

3. Steps that were taken to achieve the objectives.

The first step was to gather all the requisite software and hardware for the project. I used a Windows95 platform although the applets are located on a Sun Unix server. I used the Java Development Kit (JDK) available free of charge from Sun Microsystems. There are many alternatives to the JDK and I have some suggestions at http://www.utc.edu/~cpmawata/instructor/javaResources.html.

The second step was to consider the content of the lessons and how best to present the material, bearing in mind the level of mathematical experience the students will bring. For each of the three transformations, translation, reflection, rotation, I wanted an applet to familiarize the student with the transformation when applied to a simple object like a circle, an applet to study the transformation using Cartesian coordinates, an applet that transforms polygons, and an applet that applies the transformation to objects drawn by the student using mouse as a paint brush.

The third step was to consider the way that the student would interact with the applets, the user interface. Here I considered the various components that would be in the applet and how they would be arranged. I opted to use the mouse as the principal way for the student to control and enter data in the applet. The applet writes information to a label. In general I stuck with generic components (buttons, choice boxes etc.) which the user would already know how to use although for rotation I manufactured my own component to adjust the angle of rotation. I tried to make the user interfaces as uniform as possible for all the applets to reduces the amount of learning a student has to do when they come across a new applet. The colors of the applets are controlled using parameters in the HTML applet tag.

The fourth step was to decide what strategies to use while writing the applets. I have a more detailed technical discussion of that in the notes but key ideas are graphics programing techniques for smooth animation, deciding on data structures that will best hold information needed and planning how the various pieces (classes) will interact as the applets run.

Then came the actual writing and debugging of the code. Again, for the interested there is a detailed technical discussion of that in the notes. The idea was to reuse the same code whenever possible. For each transformation, the applets depend upon being able to find the image of a point. The key classes encapsulate the mathematical solutions to the following questions, the first of which is trivial:

  1. Given a translation vector from the point (a,b) to point (c,d), write an expression in terms of a,b,c, and d for the image of the point (x,y) under the translation.
  2. Given that a line m contains the points (a,b) and (c,d), write an expression in terms of a,b,c, and d for the image of the point (x,y) under a reflection using the line m as the mirror line.
  3. Given a rotation r with center of rotation (a,b) and the angle of rotation T, write an expression in terms of a,b and T, for the image of the point (x,y) under the rotation r.

Once the applets were written I assembled the lessons by writing the web pages and inserting the applets using applet tags. The lessons were then be made available on the web.

Comments

The web site that was proposed was established. However, I underestimated the amount of time it would take to develop the applets. In the proposal I intended to finish the project over the summer. I needed almost twice as much time as originally planned. I would like to express my thanks to the CECA CCI program for the support that made this project possible.
C. P. Mawata

References:

[1] C. P. Mawata, Graph Theory Lessons, http://www.utc.edu/~cpmawata/petersen/ [2] C. P. Mawata, Uses of Java Applets in Mathematics Education, Proceedings of ACTM '98 (the Asian Conference on Technology in Mathematics), Tsukuba University, Japan, reprint at http://www.utc.edu/~cpmawata/instructor/tsukuba1.htm.