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


  • CTAT 2.0 or greater
  • Download and extract the SimSt Toolkit: (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

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, 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
    • compileSymbols.bat
    • runTutor.bat
  3. Copy DorminWidgets-SimSt.jar from the SimStToolkit folder to $CTAT/lib.
  4. Open and replace "<specify your tutor name>" on line 10 with the name of the directory containing your tutor.
  5. Run (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 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 (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 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