CTAT 4.2.0 Release Notes

January 19 2017

Downloading and Installing

System Requirements

  • Windows 7 and above or Mac OS X 10.7.3 (Lion) and above.
  • The CTAT installer and Authoring Tools require the J2SE Java Runtime Environment (JRE) version 1.7 or greater. Not sure if you have Java? Click here to check.

Software Requirements

  • HTML interface building requires an editor. If you use the CTAT HTML Editor, the Google Drive app or the Dropbox Basic app is required for syncing a cloud folder to a local one. Otherwise, a simple text editor or one that supports HTML (such as Sublime) is required.
  • Flash interface building requires the Adobe Flash IDE (Animate or CC).
  • Java interface building requires the Eclipse IDE (Select Eclipse IDE for Java Developers.)
  • Eclipse for building Java interfaces requires the Java Development Kit (JDK).
  • Cognitive tutors require a program for editing production rules. CTAT provides a Jess editor plug-in for the Eclipse IDE. Eclipse is recommended, though not required.

New users

  1. Download and install the J2SE Java Runtime Environment (JRE).
  2. Optional: Download and install the Eclipse IDE for Java Developers if you want to use Eclipse for editing production rules.
  3. Download and install CTAT 4.2.
  4. Choose which type of tutor interface you would like to use for authoring tutors: HTML, Flash, or Java. HTML is highly recommended; Java and Flash tutors are still supported but are no longer being actively developed. (Still not sure whether to go with HTML, Java, or Flash? Read our HTML-Java-Flash comparison.)
  5. If you decide to build interfaces in HTML (recommended), you can use the CTAT HTML Editor. Alternatively, you can use a simple text editor or one that supports HTML (Note: Do not use the TextEdit app on Mac OS.).
    If you decide to build interfaces in Java, configure Eclipse and WindowBuilder.
    If you decide to build interfaces in Flash, configure the Flash IDE.

Existing Users

  1. Download and install CTAT 4.2
  2. Upgrade any existing Java or Flash interfaces as described below. HTML interfaces do not need to be upgraded.

What's New in CTAT 4.2

General Bug Fixes / Changes

  • New! Drag-and-drop editor for building CTAT HTML interfaces
    • The CTAT HTML editor is a web-based tool that allows you to quickly build an HTML tutor interface in the browser, then launch the interface to connect to the Authoring Tools running on your desktop to create and edit behavior graphs. See Using the CTAT HTML Editor for more information.
  • Improved support for graph editing with HTML tutor interfaces
    • With an HTML interface connected to a graph in the Authoring Tools, switching the tools to "Set Start State" mode caused values that were demonstrated in the interface to not display in the interface, making it difficult to modify the demonstrated values. Now the values are displayed in "Set Start State" mode.
    • In previous versions, unnecessary information about the HTML interface was stored in each behavior graph's start state. This extra information caused problems when the HTML interface was modified after the graph was created. For new graphs, only information required for mass producing behavior graphs is stored in a behavior graph's start state.
      For existing graphs, you can easily remove the unnecessary information stored in your graphs. In the Authoring Tools:
      1. Open the graph.
      2. Open the HTML interface.
      3. Select Graph > Revise Start State with UI from the menu.
      4. Reload the HTML interface, verify that the interface still displays correctly, and save the graph.
  • A new menu option New Package has been added to the File > New menu in the Authoring Tools. New Package simply creates a new directory with sub folders in your CTAT workspace; this directory structure (which we call a "package") is the recommended layout for HTML interfaces, graphs, and other assets needed by your tutor. Storing all your tutor files in a Package facilitates uploading your tutor to Learner Management Systems, such as TutorShop.
  • The HTML5 Project wizard has been moved to the Tools menu. The CTAT HTML Editor is the recommended way to create tutor interfaces, though users who prefer to write their own HTML instead of using a drag-and-drop editor might find the wizard helpful for getting started.
  • JavaScript Example Tracer
    • Formulas now have access to bug, success, and hint messages. To access the most recent bug message, use <%=buggy_message%>. To access the most recent success message, use <%=success_message%>. For hints, use <%=hints%>; the value will be an array of strings. Note: these variables will only be replaced when the HTML tutor is deployed to a web server and using the JavaScript Example Tracer. They are not replaced when your tutor is connected to the Authoring Tools.

HTML Changes

  • CTATGroupingComponent
    • If a group is defined using child elements, setting the group to not be visible hid the child elements but not the div element containing the child elements. Now the div element containing the child elements is also hidden.
  • CTATVideo
    • When an instance of CTATVideo component is set to be graded, an error would occur causing the component to not work properly. This error has been fixed.

Known Issues

  • If a CTATVideo HTML component has tutoring enabled, demonstrating a correct step in the graph records three selection values concatenated together: the component id, the url, and the length of the clip. For example, given id=video1, url=Assets\myVideo.mp4, and clip length=00:00:20.000, in the Edit Student Input Matching dialog, the selection in the "Demonstrated Value" column is video1, but the selection in the "Matcher Settings" column is video1http%3A%2F%2Flocalhost%3A11001%2FAssets%2FmyVideo.mp400:00:20.000. When testing the step in Test Tutor mode, the link does not match. The matcher's selection should be only the component id. A workaround for this issue is to change the matcher type on the Selection to an Any Match, though this will only work if there is no more that one tutored video in the interface.
  • The Jess Editor plugin is not recognized in newer versions of the Eclipse IDE (Luna or later). To enable the plugin, you need to install an extra module that provides support for older plugins. See Configuring Eclipse for production rule editing for instructions on configuring Eclipse.
  • Double-clicking a BRD does not load the graph on Mac OS X
  • If the text in a CTATTextArea or CTATTextInput is set in the graph’s start state, the text is not displayed when the author mode is changed to ‘Set Start State’.

Upgrading a Flash or Java Interface to CTAT version 4.2

Note: Neither the Flash components nor the Java components have changed in this release. Both Flash and Java interfaces are still supported but may not be supported in future releases. We highly recommend reimplementing your existing interface using the new HTML components. The available HTML components are documented here

If your existing interface uses components from CTAT 3.4 or earlier and you would like to use newer components, you will need to upgrade that interface as described below.

Java (Eclipse Window Builder)

  1. Backup your existing projects directory to a separate folder on your hard disk.
  2. Download and install the new version of CTAT.
  3. In Eclipse, remove the old CTAT widgets from the pallete and add the new ones. From the Window Builder palette, right-click and choose "Palette Manager". In the manager, under the category containing the CTAT widgets, select all and press Remove. Then add the new ones from ctat.jar using the Import Jar button.
  4. Open the interface you'd like to upgrade in Window Builder's design mode.
  5. Verify your tutor has a CTAT_Options object in it. This invisible widget is now required. If you don't see it, add one from the palette.
  6. Set the CommName property for each widget in the interface to the respective widget's variable name. So if you have a widget named "table1", set its CommName property to "table1".
  7. Run your new interface in Eclipse to verify that the upgrade procedure worked. If you encounter an error and the file will not run, contact us for assistance.


  1. Install the new CTAT Flash components as described on the Flash configuration page.
  2. Open an existing Flash interface (a file with extension .FLA) in the Flash/Animate IDE.
  3. For each component type in the interface that you would like to upgrade, drag that component from the CommComponents section of the Components panel onto the Flash stage.
  4. At the Resolve Component Conflict prompt, choose Replace existing component and press OK. All instances of that component will be upgraded to the new version.
  5. Delete the extra component that appeared on the stage.