### Basic Features of Exercise Maker

In order to describe the basic functionality of Exercise Maker, let us use an example. The "Add Two Matrices" exercise has been opened as shown in Figure 2a. The exercise window has two scrolling panes. The left-hand pane displays the problem statement, while the right-hand pane displays the answer template, which indicates what kind of answer is expected. In this example students are expected to type in a matrix C, which is the sum of A and B. Then they have to answer the questions "Is C diagonal?," "Is C lower triangular?," and "Is C upper triangular?" by checking a box for a "Yes" answer or leaving it empty for a "No" answer. At the bottom of the window, there are iconic buttons that students can press (from left to right) to see the definition of an unknown concept, get hints, have their answer checked, or see the right answer.

Figure 2a. An exercise displayed by EM. Students type their answer into the template and have it checked.

Figure 2b. An exercise displayed by EM. The same window after the SEE button has been pressed.

EM establishes certain rules for the design of exercises. The underlying principle is that each exercise has to be designed as a collection of objects. These objects have graphical representations maintained by EM, but they are also represented as Mathematica expressions. The main events during the life cycle of the objects for any exercise are as follows.

· The generating program is evaluated and an expression, which is a full definition of the objects, is loaded into the kernel.
· EM creates graphical user interface (GUI) representations of the objects by interpreting this expression.
· The current state of the GUI objects--what the user has typed in or which boxes have been checked, for example--is translated back to expressions when checking of the answer is initiated.

The verifying program checks the answer by processing these expressions.

Of course, the types of the building objects have to be among the set of types known to EM. For matrix algebra those "known" types are

· `Matrix`
· `MatrixEntry`
· `CheckBoxes`
· `RadioControls`

Although the number of "known" object types is rather small, it is possible to design quite a wide range of exercises on matrix algebra. Matrix objects are used inside the problem statement to allow us to generate the matrices in it. Objects belonging to the rest of the object types should only be used to build the answer template. Each `MatrixEntry` object allows a matrix to be entered as a part of the answer (two objects would be needed for two matrices in the answer). Yes/No questions and multiple-choice questions are handled using `CheckBoxes` or `RadioControls` objects, respectively. If you look again at the sample "Add Two Matrices" exercise in Figure 2, you may notice that two objects of type `Matrix` have been used for the problem statement (matrices A and B are their visual representations). However, the answer template has been made up of one object of type `MatrixEntry` (the input box labeled C) and one of type `CheckBoxes` (the three check-boxes labeled "Diagonal," "Lower triangular," and "Upper triangular").

Converted by Mathematica      October 5, 1999

[Prev Page][Next Page]