User's Guide‎ > ‎Examples‎ > ‎

Equation Tutor

0. Download the example -- the Equation Tutor

(1) Download an example tutor from here
(2) Unzip the file and place it under ${CTAT}/Projects where ${CTAT} is the root directory for the Cognitive Tutor Authoring Tools.

You must see "lib", "FOIL6", "plugins", and some other files under ${CTAT}

1. Launch the Equation Tutor

(1) Go to the SimStEquation folder, which is placed under the Projects folder.
(2) Click on runTutor.bat file.
(3) If you see a pop-up window telling you there exists a production rule file, click [No] to continue the example.

Generally speaking, however, you may want to do one of the following things.

Click [Yes] if you want to save the existing production rules. You'll see another dialogue box to specify a file name.

Click [No] if you'd wish to discard the existing production rules.

Click [Cancel] if you want to keep the existing production rules. The Simulated Student then would read the production rules, and update them when you perform more demonstrations.

Again, for this example tour, please just click [No] if you see the above pop-up window.

(4) You should now see the CTAT window and the Student Interface for the Equation Tutor

CTAT window:

Student Interface for the Equation Tutor

 2. Activate the Simulated Student

(1) From the Tutor Mode menu, select "Simulated Student" to activate the Simulated Student

(2) Click on the "Graph View" tab. 

The Graph View shows you a behavior graph, through which you can communicate with Simulated Student

3. Create Start State

(1) Enter an equation to solve on the first row of the table

For the sake of explanation, please enter the exact same problem, which is "x+4=8," even when you have strong preference to play around your very own problem!

(2) From the [Graph] menu, select "Create Start State"

(3) When "Input" dialogue window pops up, enter the problem name

Note: the problem name can only contain alphabetic characters, digits, +, -, and _.

(4) You should now see the start state in the Graph View

4. Demonstrate steps

To demonstrate a step, you need to do following things:

  • Specify focus of attention
  • Perform an action for the step
  • Acknowledge feedback from Simulated Student
  • Specify the name of the step (when necessary)
(1) Specify focus of attention

You must specify all elements shown on the GUI (Graphic User Interface) that contribute to the step.  Those elements are called focus of attention

To specify focus of attention, double click on the target GUI element.  You should see that they are highlighted with a blue box.

For this example, double click on "x+4" and "8"

(2) Perform an action for the step

Now, do what you need to do.  Just like building an Example-tracing Tutor, you need to perform an exact step here.

For this example, enter "x" in the 2nd left cell and press the [Enter] key.

(3) Acknowledge feedback from Simulated Student

When you demonstrate a step, the Simulated Student try to model trace the step with the production rules generated so far. 

You see a pop-up window that tells if the attempt of model tracing was successful or not.

At the moment of the example, since there has been no production rules learned, the attempt should be failed hence you should see the following message.

Simply click [OK].

(4) Specify the name of the step (when necessary)

Now you should see that the state1 has been created in the Graph View.

If you only see [sta...] instead of [state1], click on the [sta...] box.

If you do not see [unnamed] box just above the [state1] box, then go to the [View] menu, and select the [Skill Names] option

You need to name each step you demonstrate. Do the following:

1. Click on [unnamed] box and select "Edit Skill Name"

2. When a pop-up window appears, enter "add-lhs" as the skill name and click [OK]

You should now see the following graph in the Graph View.

If you do not see the skill name changed on the graph even after the pop-up window disappears, then simply place your mouse cursor over the skill name box.

This completes the demonstration for a single step. Keep demonstrating all other steps until you solve the problem completely. 

For this example, only one more step to go!  This time, you demonstrate that entering 4 as the next step (yes, x+4=8 leads to x=4!).

Now, perform the following:

(5) Specify focus of attention over the following three elements

The way specifying focus of attention is rather flexible if they are consistent across the demonstrations.  See the reference manual to learn more about focus of attention.
(6) Enter 4 and hit the [Enter] key


(7) Acknowledge the Prod. System Check Message window by clicking [OK]
(8) Click on the [unnamed] box and select "Edit Skill Name."  Then, enter "add-rhs" as the skill name.

It may take longer than the previous step, but be patient until the "Edit skill name" pop-up window disappears. 

(9) You should now see two complete steps in the Graph View just like this:

This completes the whole demonstration except the one last step, which is the "Done" step described next.

5. Complete a solution -- Let Simulated Student know that it's "Done"

When you finish solving a problem completely, you must tell the Simulated Student that it's done by clicking [Done] button.  The human students must do the same thing.  In other words, clicking done button is a part of the problem-solving steps. Hence you must demonstrate when to press done button. 

Do the following for this example:

(1) Specify focus of attention.  This time, the two cells in the 2nd row is enough.

(2) Click on the [Done] button

(3) Acknowledge the Prod. System Check Message window by clicking [OK]
(4) Click on the [unnamed] box and select "Edit Skill Name."  Then, enter "done" as the skill name.

In general, you can use any name as a skills name if the are consistent across the demonstration.  However, for this very last step, which models clicking the [Done] button, the skill name must be "done"

This completes the demonstration on the first problem. You should see the following complete graph in the Graph View.

6. Provide more demonstrations

At this very moment, the Simulated Student has learned three rules, which are called add-lhs, add-rhs, and done.  So, if you demonstrate on a new problem, the Simulated Student should be able to model trace your steps!  Let's see if this is really the case.

(1) Initiate a new problem

Go to the [File] menu and select "New Graph"

(2) Save the current graph (optional)

If can save the above demonstrations, if you wish. To do so, click on [Yes] for the "Save Current Behavior Graph" pop-up window.

Check "Save to Another Location" on and click [OK]

Save a file wherever you like.

(3) Create a new problem

So far, the Simulated Student has learned three rules.

Thus, providing more demonstration is not only for the Simulated Student to learn, but also for you to test if the production rules have been learned correctly -- if you perform those three skills on a similar problem, they must be successfully model traced.

Let's try x+3=5 as the next problem.

Do not forget to create a start state

Name the start state as you like.

(4) Perform the 1st step (add-lhs)

Double click on "x+3" and "5", and then enter "x".  Make sure to hit the [Enter] key to proceed.

You must be consistent in the way to specify focus of attention. You have specified two elements of focus of attention which are just above the cell that is to be filled in.  Since you are demonstrating on the same skill, give the exact same focus of attention here.

This time, you should see affirmative feedback from the Simulated Student saying that an attempt for model tracing was successful.

Also confirm that the expected skill name ("add-lhs") is shown in the Skill Name box.

(5) Perform the 2nd step (add-rhs)

Okay, then try the 2nd skill -- add-rhs.

To specify focus of attention, double click on "x+3", "5", and "x".  Then, enter "2" as the right hand side.

Now, wait a second!!  The Simulated Student gives you a negative feedback again!

(6) Inspect the incorrect production rule (optional)

When you see unexpected response from the Simulated Student, you may want to know what kind of production rule has been learned. 

You can inspect production rules with the "Conflict Tree" tool. 

Click on the "Conflict Tree" tab.

Identify the production rule that you'd like to inspect -- in this case, the rule "add-rhs" should have been matched.

Click on the red x for the rule of interest. In this example, it is the top x in the third column (labeled "I"). 

Now, you see that the production rule "add-rhs" was suggesting to enter "3" where as you have entered "2". 

It may be very confusing, but the "Student" in the above figure means you, not the Simulated Student.  The "Rule" is indeed what the Simulated Student expected for you to do.

Now, you must be very curious why "3"? 

Close the above window by clicking [OK]. And then, click on the rule name (which, of course, is "add-rhs").

The "Why not?" window must pop-up.

The top pane shows an actual production production rule that has been learned.  The bottom half shows the bindings for each variable in the production rule. (Don't worry if you have no idea what I'm talking about...  You wanted to use the Simulated Student because you did not like to read the tasteless production rules, anyways)

Scroll down the top pane to the very end


In summary, the production rule says to enter the last-term of the left hand side, which is "3" of "x+3"!! 

Remember what you were demonstrating?  It was "x+4=8" leading to "x=4".  Ah huh!  You have entered the last term of "x+4" as the solution. 

It is not demonstrated in this example, but that the step was "successfully" model traced means there is a production rule that has been matched with the step demonstrated.  Note that this does not necessarily mean that the matched production rule is correct.
(8) Correct the incorrect production rule

Now, you know that the rule "add-rhs" is not correctly learned.  You must tell Simulated Student that the step that has been just demonstrated should be model traced with "add-rhs".

Go back to the Graph View (by clicking on the "Graph View" tab).


Let's specify the skill name.

Once the "Edit Skill name" window is poped-up, enter the skill name for the state2. This time, you can select a name from the pull down menu.  This is indeed recommended to avoid a spell miss!

This signals the Simulated Student to relearn the "add-rhs" production rule.

(9) Keep demonstrating more steps and more problems.

Now you know all essential things to play with the Simulated Student.  Go on and provide more demonstrations.

If you start to demonstrate a new problem, say, "x+4=6", you'd see that all three steps are correctly model traced.