SimStudent Author's Toolkit

Last updated August 27, 2007

This article describes how to use SimStudent with a CTAT tutor you've created.

Table of Contents

Prerequisites:

  • CTAT 2.0 or greater
  • Download and extract the SimSt Toolkit: SimStToolkit2.zip (3.028 MB)
  • You should have your own tutor in a directory under $CTAT/Projects, where $CTAT is the folder where you have installed CTAT, and $CTAT ends with "Cognitive Tutor Authoring Tools". The folder where you have your tutor will be called $Tutor. This must be under $CTAT/Projects.
  • You may also want to go through the first SimStudent tutorial to refresh your knowledge of SimStudent.

1. Design your tutor

Since we are restricted to a limited set of operators and feature-predicates, solving problems should only require the background knowledge that is made available by UserDefSymbols.java.

Design the Student Interface for your tutor, using the beans provided, according to the tutorial.

Note: In the current version of SimStudent, we do not support TextFields or DorminLabels: DorminTable is the only supported widget type. If you wish to make a single field, use a table with a single row and a single column.

2. Prepare SimStudent

  1. Download SimStToolkit2.zip, and unzip its contents into a folder called "SimStToolkit".
  2. Open the SimStToolkit folder, and copy the following files to your tutor folder, $Tutor:
    • operators.txt
    • feature-predicates.txt
    • constraints.txt
    • wmeStructure.txt
    • UserDefSymbols.java
    • compileSymbols.sh
    • compileSymbols.bat
    • runTutor.sh
    • runTutor.bat
  3. Copy DorminWidgets-SimSt.jar from the SimStToolkit folder to $CTAT/lib.
  4. Open UserDefSymbols.java and replace "<specify your tutor name>" on line 10 with the name of the directory containing your tutor.
  5. Run compileSymbols.sh (on Mac or Linux) or compileSymbols.bat (on Windows).

3. Save "Jess Facts"

Suppose $Tutor="MyTutor"—your tutor interface is in the directory "MyTutor"—and your tutor interface is called "MyTutorInterface".

  1. Delete the files init.wme and wmeTypes.clp, if they exist.
  2. Start CTAT with your tutor interface:
    $ runTutor MyTutor/MyTutorInterface
  3. Switch the Tutor Type to Cognitive Tutor (Jess).
  4. Select Graph > Create Start State. You don't need to enter anything in the student interface before creating the start state since we are not actually creating a start state here.
  5. Name your start state as "init".
  6. Select File > Save Jess Facts. If a pop-up dialog appears, press OK.
  7. Confirm that the file will be saved as init.wme (overwrite previous version, if necessary).
  8. Close this instance of CTAT. Do not save the graph.

Note: Whenever you modify your tutor's Student Interface, you need to perform steps 1-7 again, before using SimStudent with your tutor.

4. Use SimStudent

Once you've done the above steps, you are ready to use SimStudent. You should have a file called MyTutorInterface.java as well as MyTutorInterface.class in the directory $CTAT/Projects/MyTutor

  1. Close CTAT if it is running.
  2. Open a Terminal window and cd to $CTAT/Projects/MyTutor:
    $ cd CTAT/Project/MyTutor
  3. Run the shell script with the class name of your tutor:
    $ runTutor MyTutor/MyTutorInterface
  4. Switch the Tutor Type to Simulated Student.
  5. Create a start state with an actual problem (meaning, you enter some entries into the interface).
  6. Do a demonstration! You can find the way to demonstrate steps in the old tutorial.

Back to top