Authoring Cognitive Tutor by Tutoring

(1)

(2)

Download the environment from here.

Unzip the file and place the SimStAlgebraI folder under ${CTAT}/Projects where ${CTAT} is the root directory for the Cognitive Tutor Authoring Tools.

1. Launch the Algebra I Tutor

(1)

(2)

(3)

(4)

Go to the SimStAlgebra folder, which is placed under the Projects folder.

Run the runTutor.sh file, or runTutor.bat (Windows).

If you see a pop-up window telling you there exists a production rule file. This is referring to the file ${CTAT}/Projects/SimStAlgebraI/productionRules.pr . Click [No] to delete this file and 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 wish to discard the existing production rules.

Click [Cancel] if you want to keep the existing production rules. The Simulated Student will then 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.

You should now see the CTAT window and the Student Interface for the Algebra I Tutor.

CTAT window:

Student Interface for the Algebra I Tutor

Please separate them so that they don't overlap, as seen in this image.

2. Activate the Simulated Student

(1)

From the Tutor Type menu, select "Simulated Student" to activate the Simulated Student

You should now see a number of new windows, including the Behavior Recorder window.

3. Create Start State

(1)

(2)

(3)

(4)

Enter the equation to solve on the LHS and RHS of the first row of the table

Enter the expression 2x+3 in the first row of LHS column; and the number "5" in the first row of the RHS column as shown above.

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

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

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

You should now see the start state in the Graph View

If you don't see a start state, scroll to the right to find it -- this is a bug.

4. Run Interactive Learning on the First Problem

(1)

(2)

(3)

(4)

(5)

Start Interactive Learning

Right-click on the start-state, and select "Run Interactive Learning Here"

Acknowledge SimStudent's ignorance

Since SimStudent doesn't have any production rules, it doesn't know what to do. Therefore, it asks you for a demonstration.

Click "OK".

Demonstrate the first step

Click on the 3rd cell of the first row of the Student Interface. Enter "subtract 3".

Hit <Enter>.

Since this is the beta version of the tutorial, please ignore the color of the text in the Student Interface. In the current version, colors do not have any meaning..

Specify the name of the step (when necessary)

You should now see that a new node and edge have been created on the Behavior Graph. Specifically, you should see that state1 has been created in the Graph View.

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

You should also see a box with "unnamed" on the new edge.

If you do not see the [unnamed] box just above the [state1] box, then go to the [Graph] menu, and make sure the [Show Skill Labels] option is checked.

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

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

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

Wait a few seconds. SimStudent has now learned a rule named "sub", based on the above instruction.

You should now see the following graph in the Behavior Recorder.

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.

Demonstrate the rest of the problem

In this first problem, SimStudent will not get the chance to apply any of the rules it learns. Continue demonstrating the rest of the problem, in a similar fashion:

* In the first cell of the second row, enter "2x". Rename the skill to "sub-typein". SimStudent will learn "sub-typein" based on this instruction.

* In the second cell of the second row, enter "2". Rename the skill to "sub-typein". SimStudent will re-learn "sub-typein" based on these two instructions. It may take a while to find a rule that explains both instructions. Please be patient. After this, SimStudent will attempt to make a step with the input "FALSE". This is expected behavior, since the operator-sequence of the rule "sub-typein" does not make sense with the focus of attention. The LHS of this rule is not correct.

You might also see "FELAS" instead of "FALSE". This is a bug. Please ignore it.

* In the third cell of the second row, enter "divide 2". Rename the skill to "div". SimStudent will learn "div" based on this instruction.

* In the first cell of the third row, enter "x". Rename the skill to "div-typein". SimStudent will learn "div-typein" based on this instruction.

* In the second cell of the third row, enter "1". Rename the skill to "div-typein". SimStudent will re-learn "div-typein" based on these two instructions. It may take a while to find a rule that explains both instructions. Please be patient.

The Student Interface should now look like this:

The Behavior Recorder graph should now look like this:

5. Run Interactive Learning on a new Problem

Now that SimStudent has learned some rules, let's see if it can apply them to a new problem.

(1)

(2)

(3)

(4)

Start a new Problem Graph.

In the File Menu, click on "New Graph". If prompted to save the existing graph, click "No".

You should see an empty Behavior Recorder.

Create a start-state for this new problem

Look back to step 3, for more details on how this is done. But enter the problem "6x+1=-11" instead.

The Student Interface should now look like this:

The Behavior Recorder should look like this:

Run Interactive Learning on the Start State (for more details, look back to step 4.1)

SimStudent offers a suggestion for what to do on this first step, based on a firing of "sub".

Since this is correct behavior, click on "Yes". Now, you should see that this edge is labeled with the name of the rule, i.e."sub".

Continue Interactive Learning on this problem.

* For the next step, SimStudent offers to enter " -12" at the second cell of the second row. You may be surprised to see that SimStudent performs the RHS step before the LHS step. Don't worry: this is normal behavior. Since this is a correct action, click "Yes".

* Now, SimStudent offers to enter "6x" at the first cell of the second row. Since this is correct, click "Yes".

* Now, something interesting happens: SimStudent suggests an incorrect step:

Can you guess why this happens? Hint: Look back to the place where the rule "div" was learned.

Since this step is incorrect, click "No".

* Now, demonstrate the correct step, "divide 6", at the third cell of the second row. Change the skill-name to "div". SimStudent will now try to change the "div" rule in a way that explains both "div" instructions.

* Now, SimStudent offers to enter "-2" in the second cell of the third row. Since this is correct, click "Yes".

* Then, SimStudent offers to enter "x" in the first cell of the third row. Since this is correct, click "Yes".

This completes the SimStudent Interactive Learning tutorial. We have seen SimStudent ask for demonstrations, learn production rules, and perform steps correctly and incorrectly. In the second problem, we saw that the "div" rule generated an incorrect suggestion. By looking back to the first problem, you can figure out that the "div" rule that SimStudent learned applies "divide" to the RHS, since this is simpler than the rule in which "divide" gets applied to the coefficient of the LHS. This is evidenced by the fact that SimStudent suggested "divide -12" instead of "divide 6" in the second problem.

The Student Interface should look like this:

You should see the following graph in the Graph View: