The software supplement to the book Contemporary Abstract Algebra, 5th edition, 2002, Houghton Mifflin by Joseph A. Gallian was begun by Arvind Rajagopal in 1997 for his M.S. project. Over the years the software supplement was improved and expanded by Xiong Wang, Kai Xu and Dong Liang.
The computer exercises are meant to allow students to produce data,explore
examples, and make and test conjectures.
A typical program( Applet ) looks like this.....
I have used a "Text Field" to accept values from the users and a "Scrollable Canvas" to display the solutions. I have also provided a "clear button" to refresh the canvas. I plan to provide a "print button" to print the contents of the canvas, later.
Having seen how a typical Applet works let me take you into the design of the whole program. All the programming exercises use two packages that I built called algebra and misc( has miscellaneous items like Scrollable Canvas, Text Field, and other Utilitiy functions ). Typically, each trial is considered as an algebra.answer and algebra.answers are made of either a algebra.sentence or a algebra.table. Both algebra.sentence and algebra.table are subclasses of the abstract class algebra.entity and implement an interface algebra.Drawable that enables them to draw themselves on the canvas.
Here's the diagramatic representation of the algebra package:
All subclasses of algebra.Words and algebra.entity implement the interfaces algebra.Drawable and Cloneable. Also the interface Drawable is a part of the package algebra.
Both algebra.sentence and algebra.table are composed of algebra.Words. As you can see, there are seven kinds of Words. All subclasses of algebra.Words implement the algebra.Drawable interface and hence can draw themselves.
The algebra.Drawable interface has just one method draw() which is defined as follows:
Where 'g' is a 'Graphics' object while W, H, X, and Y, which stand for the width, height, x-coordinate and y-coordinate respectively, are of the type algebra.integer which is just a wrapper to an 'int' with some extra functionalities.
If we call the individual problems( programming exercises ) as 'application applets', here's how the application applets work.
algebra Package / misc Package / Project Home Page / My Home Page
This page has been visited times since May 19, 1997