What's New in CTAT 2.11

Features

Revised logging preferences appear in a new section of CTAT Preferences called “Logging”. These reflect some new channels for logging:

Enable Logging Service (Flash tutors): log messages received by the Tutoring Service from a Flash tutor are saved to disk

Forward Logging Service Data (Flash tutors): log messages received by the Tutoring Service are also forwarded to a logging server URL

Log to Remote Server (Java or Flash tutors): log messages are generated by the Java server and sent to a logging server URL. For Flash tutors, this is an alternative to forwarding via the Logging Service, but log entries will lack client-side time and hint information

Log to Disk (Java or Flash tutors): log messages are generated by the Java server and recorded in disk files. For Flash tutors, this is an alternative to logging via the Logging Service, but log entries will lack client-side time and hint information

Author Logging (Java or Flash): author actions are logged when logging is turned on

In Cognitive Tutors, skills (rule names) are now logged.

On quitting the tools, CTAT will not prompt you to save your behavior graph if it has not been modified.

“Insert Subgraph from File” option on a node allows you to reuse pieces of a behavior graph

Flash and Java tutors now log the link ID with each transaction

New matcher function modf(double dividend, double modulus), which returns n%m, the remainder of n divided by m. The function mod(n,m) only works with integers, and so will return 0 for the expression mod(3.5,2).

New Skills Console (Windows > Show Window > Skills Console) shows skill name, category, and current estimated probability that the student knows the skill. Used primarily in debugging and authoring with components where the skills are embedded in the tool (e.g., CommEquationSolver and “Equation Solver” matcher).

Major changes to the focus management of Flash tutors. In prior versions of CTAT, a Flash tutor would evaluate student input under a system called "backgrading", where each change of focus to a new component (e.g., click in a text field, press enter) would initiate evaluating the prior Flash component. In the new system, evaluation will occur when focus leaves a component. This approach is much simpler and more reliable, resulting in more consistent evaluations.

Skinnable/Stylable tutors. Tutors can be styled via an XML stylesheet.

New CommShell. The CommShell has been optimized to be faster and smaller in size. The visual elements of the CommShell (sliding hint window, the hint button, the component border) have been removed in favor of separate components that perform these functions.

Sliding hint window (aka the garage door hint window) has been removed from the CommShell and made into its own component, CommHideableHintWindow.

Flash tutors now work reliably when published for Flash Player 10. Compatibility modes for earlier versions (such as Flash Player 8, which was the version we recommended in the last release) are no longer supported. We strongly recommend that for all FLA files with version 2.11 of the CTAT components, you set the Flash Player compatibility to "Flash Player 10" in Flash IDE's Publish settings. This is a per-FLA-file setting.

The Flash component CommJumble has been removed from this release. We recommend you use the new component CommDragNDrop instead.

CommShell now has a loading animation that appears while the tutor is connecting to the Tutoring Service before a problem loads or between problems in a sequence.

Among other changes, CommNumberBar has a new option for a large, thick line that is bigger than the large tickmark (see CommNumberBar’s Point Shape parameter).

General Bug Fixes / Changes

CTAT1366: Optional links are not copied with subgraph

CTAT2249: Inconsistent behavior when clicking on a state

CTAT2420: Row disappears in Edit Student Input Matching panel

CTAT2494: Default values for Range Matcher min and max could be better

Flash

CTAT2349 – Flash: CommCheckBox isn’t checked if ‘selected’ parameter = true. Workaround is to set a state as the start state.

CTAT2433 – Flash: CommRadioButton isn’t “selected” in the start state

The component-specific methods The Correct Method, The InCorrect Method, and The Reset Method do not work when Suppress Student Feedback is turned on. The solution is to use a new CommShell parameter, MonitorLog, which will receive tool_messages and tutor_messages as they are logged.

In a Flash cognitive tutor, creating a start state no longer automatically generates working memory facts and templates for some components.

Flash components Jumble, Multiple Selection, and Media Multiple Selection have some known issues. Contact us if you’re interested in using these components.

Flash widgets canāt be modified in Set Start State mode.

CommCombobox does not work with some languages such as Japanese. The current workaround is to use HTML entities for these characters in these languages.

Both Flash and Java

Inconsistent behavior when clicking on a state (CTAT2249).

Docked windows sometimes aren't loaded on Mac (CTAT2198)

Demonstrating a step in an unordered graph that matches an existing step does no create a new link in the graph (CTAT2210). The workaround is to temporarily change the graph to 'ordered' to demonstrate the step.

In graphs with Suppress Student Feedback enabled, success and error-feedback messages are not displayed, but they are logged. The feedback should not be logged, since it never appeared to the student.

Current state (a node with bold text) in an unordered graph is incorrect for Jess tutors (CTAT1927).

The JavasrcInstaller, which is used to set up source documentation for Java functions in the Formula Wizard, does not extract sources on the Mac. To do this manually, see Installing the Formula Wizard.

The enforceDone attribute of a behavior graph cannot be set from the CTAT user interface; it can only be set in the behavior graph XML using a text editor.

Upgrading an Interface to CTAT version 2.11

If you would like to use new CTAT widgets or components in an existing interface, you will need to upgrade that interface as described below. If you do not feel comfortable upgrading your interface, contact us and we will upgrade your interface.

Right-click on the folder containing the interface you'd like to upgrade, and click New TutorTemplate.java. In the "File Name" field, specify a name for this file that is anything but the name of the interface you're upgrading. All other fields can be left unchanged. It is not necessary to create a new subdirectory of Projects by modifying the Folder field, although you can if you prefer to do so.

Press Finish.

Expand the folder that contains the interface you're upgrading. You should see the .java and .class files for the interface you're upgrading, as well as the new .java file with the name you specified in the previous step.

Open both the new file and original interface file by double-clicking each of their names in the Files panel.

You should see both interfaces in "Design" mode. If you do not, click the button at the top titled "Design" for each interface. The new interface should contain only a blank panel.

For your original interface, view the widget objects in the interface
using the Component Inspector (Window > GUI Editing > Inspector). Within the Inspector panel (located on the bottom left of the NetBeans window by default), expand the TutorPanel object. This object has a blank icon. You should see a number of widgets appear within it.

Select all of the interface widgets. On Windows, this can be accomplished by clicking the first widget inside TutorPanel, then while pressing and holding shift, clicking the last widget.

Copy your widgets (CTRL+C on Windows, COMMAND+C on Mac).

View the new interface that you created in step 4. Select the JPanel in the Inspector, and paste the widgets (CTRL+V on Windows, COMMAND+V on Mac). You now have a working CTAT 1.5-compatible interface.

Run your new interface (SHIFT+F6) to verify that the upgrade procedure worked. If you encounter an error and the file will not run, contact us for assistance.