CTAT Behavior Graphs - CMUCTAT/CTAT GitHub Wiki

CTAT Behavior Graphs

Table of Contents

  1. Getting Started with Behavior Graphs
  2. Working with Behavior Graph (BRD) Files
    1. Behavior Graph Properties
    2. Behavior Graph Links
    3. Navigating a Behavior Graph (BRD) in the Behavior Recorder
    4. Behavior Graph Editing

In this section we will cover the basics of the behavior graphs you create to provide tutoring for a student interface.

Getting Started with Behavior Graphs

As we explore the features and options of CTAT behavior graphs, you will find it helpful to have CTAT and a CTAT student interface open.

Note: If you have not created a CTAT interface and behavior graph, you can try using one of the HTML example student interfaces installed with CTAT as a starting point to familiarize yourself with the tools.

  1. Open CTAT for HTML and Flash.

  2. Open the student interface:

    • To open an HTML student interface from CTAT, select File > Launch HTML Interface, and select the .html file representing the student interface.
    • To open an HTML student interface from the CTAT HTML Editor, select View > Launch Interface, and select the .ed.html file representing the student interface.
  3. With the student interface connected to a new Graph window, enter a start state in the student interface for the problem to be solved. For example, in the Fraction Addition student interface, you might enter the values for the two given fractions. When you are done, select Graph > Create Start State. When prompted, enter a name for the start state node to create the top-level node for your graph.

  4. For an Example-tracing tutor, you should demonstrate the solution steps for the problem. See Example-tracing Tutors for more information on building an Example-tracing tutor.

    For a Cognitive Tutor, you will examine working memory, modifying it if necessary, and write production rules. See Cognitive Tutors (Jess) for more information on building a Cognitive Tutor.

Note: If you are new to building tutors with CTAT, you may want to explore the example-based tutorial.

To create a new student interface for your tutor, you will work in either an HTML editor or the CTAT HTML Editor. When you would like to add behavior to the tutor, you will launch both the student interface and the CTAT program as described above.

Working with Behavior Graph (BRD) Files

A problem for a student to solve is described in a behavior recorder data file, or BRD file. It describes the initial state of the problem (also known as the "start state" or the problem statement) that defines the problem; the initial state is stored in the top-level node of the graph. The callout in the figure below shows the four values that are stored in the start state of the BRD file for the fraction addition problem 1/4 + 1/6.

Behavior graph start state

Figure: Behavior graph start state for fraction addition problem 1/4 + 1/6

The BRD file also describes the steps students should take (or shouldn't take) as links in a node-link graph. Links in the graph represent actions that can be taken by the student or the tutor (in the case of a tutor-performed action). Nodes (or "states") in the graph represent stopping points between actions; except for the "start state" they store no information about problem-solving. In addition, the BRD file describes the graph properties that control behavior such as whether or not to show hints and other feedback to the student.

Behavior Graph Properties

CTAT behavior graphs can have a number of properties that affect Example-tracing tutor behavior for a single behavior graph (BRD) file. (Properties are settings that apply to the graph.) For a given graph, the following properties can be set from the Graph menu in CTAT:

  • Case Sensitive Exact Matching: Whether student input must match the case of the demonstrated input.
  • Lock Widgets on Correct Action: Whether a student's correct input to a component will lock that component.
  • Feedback Policy: Policy for displaying feedback to the student.
  • Hint Policy: Policy for how hints are chosen in example-tracing tutors.
  • Confirm Done: Whether the tutor should prompt the student to confirm that they are done. (Typically only used when feedback is disabled, as in a quiz.)
  • Highlight Right Selection: Whether to notify the student to work on a different step if the step they are working on is out of order.
  • Edit Out of Order Message...: Allows you to change the notification message displayed when Highlight Right Selection is enabled.

One other important graph property you can specify is the order in which the steps in the graph can be performed; steps can be "Ordered" or "Unordered". By default, steps are "Ordered". That is, the student must perform the steps in the order you demonstrated them in the graph. Ordering of steps is controlled in the Group Editor window.

To change the order to "Unordered" for the entire graph:

  • Right-click (Windows) or Control+Click on "Top Level" in the Group Editor window. When you create a new behavior graph, all steps are considered part of the "Top Level" group by default.
  • Select Ordered from the pop-up menu to disable it.

Note

The group editor allows you to create multiple groups of steps that are either ordered or unordered, and groups can be "nested" withing other groups. Groups are covered in more detail in Example-tracing Tutors.

These settings are stored as properties of the graph in the BRD file, and therefore affect the current graph only. Most of the available behavior graph properties are described in more detail in CTAT Preferences.

Behavior Graph Links

The links between states in a graph encompass the behavior of a step in the tutor. Each link has a unique ID number, which is displayed in the link's "Action" label. The label also shows the name of the component and the expected input for that step. The color of the text on the label indicates the link type (e.g., correct steps have green text, while incorrect steps have red text). Hovering over an action label displays a tool tip showing details of the link.

Tip

Action labels for links can be shown or hidden by toggling the View > Show Action Labels menu option in CTAT.

A link can represent one of four different action types: "correct", "incorrect", "suboptimal", and "incorrect, but not modeled". These terms are defined below.

Correct Action: A preferred, correct action. This type of link is traversed when matched with a student's action. A correct action link can have feedback associated with it that is displayed to the student when the link is matched; it can also have a variable number of hints that are displayed sequentially when the student requests a hint. Visual feedback to the student is commonly a green outline or green text on the component specified as the selection of the correct action.

Incorrect Action (Bug): An incorrect action. This type of link is not traversed when matched. As one cannot progress through an incorrect action link, it is not possible to have links beyond an incorrect action link. This type of link can have a single bug message that is displayed to the student when they perform the incorrect action specified on the link. Visual feedback to the student is commonly a red outline or red text on the component specified as the selection of the incorrect action.

Suboptimal Action (Fireable Bug): A correct action that is suboptimal. Unlike the incorrect action link, a suboptimal action link is traversed when performed; a student can travel down a "suboptimal path". This type of link can have a single "bug" message that is displayed to the student when they perform the action specified on the link. Visual feedback to the student is commonly a red outline or red text on the component specified as the selection of the suboptimal action.

Incorrect Action not in Model (Untraceable Error): An incorrect action that is not modeled by the cognitive model. This type of link is used to identify errors that should not be traced by Jess, the rule engine used in Cognitive Tutor (Jess) mode, when running an automated test with the graph (i.e., Test Cognitive Model on All Steps).

The link type (or "action" type) can be set by right-clicking (Windows) or control-clicking (Mac) on an "action" label on a link and selecting Change Action Type from the pop-up menu.

Navigating a Behavior Graph (BRD) in the Behavior Recorder

As you create links and nodes in the graph, you may want to jump to a particular state in a problem, or walk through a path of problem-solving steps. As you do so, the student interface will update to show the current state.

To jump to a state in the problem:

  • Click the node in the graph corresponding to the desired state. If you're not sure which node corresponds to a state, click it and view the student interface. The student interface updates to reflect the current state.

    Tip

    You can rename nodes in the graph with descriptive titles so that they better describe the problem's state. To rename a node, Right-click (Windows) or Control+Click (Mac) the node and select Rename. Then enter a new name for the node.

To jump to the start state of the problem:

  • Press Control+1 with the Graph window as the currently focused window, or select Graph > Jump to Start State from the menu.

To walk through a sequence of preferred steps:

  1. Click the node in the behavior graph representing the starting state from which you'd like to start the sequence.
  2. Press Alt+Down Arrow to walk forward on the preferred path. The currently selected node in the graph updates with each step, as does the student interface.

To undo a step or sequence of steps:

  • Press Alt+Left Arrow with the Graph window as the currently focused window, or select Graph > Retract Last Step. The Behavior Recorder retracts the last step and updates the student interface.

Behavior Graph Editing

In CTAT, there a many options that allow you to modify the structure and layout of a behavior graph. Many of these options appear on pop-up menus when you Right-click (Windows) or Control+Click (Mac) on a state or link label in the graph. You can delete nodes and links, add new nodes, copy the contents of one link to another link, and so on.

You can also manipulate the graph directly.

  • Dragging states: Drag a node and its subgraph to a new position, or use Control+Click to drag an individual node.
  • Merging states: Drag a node on top of another node to merge the two states. When the node being dragged disappears, drop it on the destination node and click OK at the prompt.
  • Copying links: Select several links to copy and paste. To select, hold down the Control key and click each of the links to select them, or click and hold the mouse on the background of the Graph window and drag to select the links. Then select Edit > Copy Links and Edit > Paste Links. Note that, when the links are pasted, they are not connected to the existing graph. Merge the first node of the pasted links to another node to attach the links.
  • Rewiring Links: Drag and drop the end of a link (indicated in red) to point to another node. If rewiring leaves "orphaned" nodes, it's wise to delete them to prevent cluttering up your graph.

Tip

As in most editors, CTAT supports the standard keyboard shortcuts for editing, such as copy, paste, undo, and redo.

Back to top

Next >> Example-tracing Tutors