ing the resulting solution. The second strategy mixes
pairs of solutions until a reaction is obtained. A snapshot of a student’s interaction with VirtualLabs when
solving the Oracle problem is shown in figure 1.
We make the following definitions: We use the
term basic actions to define rudimentary operations
that cannot be decomposed. For example, the basic
“Mix Solution” action (MS1[s = 1, d = 3]) describes a
pour from flask ID 1 to flask ID 3. The output of a student’s interaction with an ELE (and the input to the
plan-recognition algorithm described in the next section) is a sequence of basic-level actions representing
students’ activities, also referred to as a log. Complex
actions describe higher-level, more abstract activities
that can be decomposed into subactions, which can
be basic actions or complex actions themselves. For
example, the complex action MSD[s = 6 + 8, d = 2]
represents separate pours from flask ID 6 and 8 to
flask ID 2.
A recipe for a complex action specifies the sequence
of actions required for fulfilling the complex action.
Figure 2 presents a set of basic recipes for VirtualLabs.
In our notation, complex actions are underlined,
while basic actions are not.
Recipe a in the figure, called mix to same destination (MSD), represents the activity of pouring from
two source flasks (s1 and s2) to the same destination
flask d. Recipe b, called mix through intermediate
flask (MIF), represents the activity of pouring from
one source flask (s1) to a destination flask (d2)
through an intermediate flask (d1). Recipes can be
recursive, capturing activities that students can
repeat indefinitely. For example, the constituent
actions of the complex action MSD in recipe a
decompose into two separate MSD actions. In turn
each of these actions can itself represent a mix to
same-destination action, an intermediate-flask pour
(by applying recipe c or a basic action mix, which is
the base-case recipe for the recursion (recipe d).
Recipe parameters also specify the type and volume
of the chemicals in the mix, as well as temporal constraints between constituents, which we omit for
brevity. More generally, the four basic recipes in the
figure can be permuted to create new recipes, by
replacing MSD on the right side of the first two
recipes with MIF or MS. An example of a derivation
is the following recipe for creating an intermediate
flask out of a complex mix to same destination action
and basic mix solution action.
MIF[s1, d2] → MSD[s1, d1], MS[d1, d2] ( 1)
Planning is defined as the process by which stu-
dents use recipes to compose basic and complex
actions toward completing tasks using TinkerPlots.
Formally, a plan is a tree of basic and complex
actions, such that each complex action is decom-
posed into subactions that fulfill a recipe for some
task. A set of nodes N in a plan is said to fulfill a recipe
RC if there exists a one-to-one matching between the
constituent actions in RC and their parameters to
nodes in N. For example, the nodes MSD[s = 6 + 8, d
= 2] and MS7[s = 2, d = 7] fulfill the mixing through
an intermediate flask recipe shown in equation 1.
Each time a recipe for a complex action is fulfilled in
a plan, there is an edge from the complex action to
its subactions, representing the recipe constituents.
Figure 3 shows part of a plan describing part of a
student’s interaction when solving the Oracle prob-
lem. The leaves of the trees are the actions from the
student’s log and are labeled by their order of appear-
ance in the log. A node representing a complex
action is labeled by a pair of indices indicating its
earliest and latest constituent actions in the plan. For
example, the node labeled with the complex action
MSD[s = 1 + 5, d = 3] includes the activities for pour-
ing two solutions from flask ID 1 and ID 5 to flask ID
3. The pour from flask ID 5 to 3 is an intermediate
flask pour (MIF[s = 5, d = 3]) from flask ID 5 to ID 3
through flask ID 4.
In a plan, the constituent subactions of complex
actions may interleave with other actions. In this
way, the plan combines with the exploratory nature
of students’ learning strategies. Formally, we say that
two ordered complex actions interleave if at least
one of the subactions of the first action occurs after
some subaction of the second action. For example,
the nodes MSD[s = 6 + 8, d = 2] and MS7[s = 2, d = 7]
fulfill the mixing through an intermediate flask
recipe shown in equation 1.
The plan-recognition problem in ELEs is defined as
follows: Given a set of temporally ordered actions
representing a student’s complete interaction
sequence with the software, and a set of recipes, out-
put the plan that correctly describes the student’s
interaction with the software. By “correct,” we mean
that the plan outputted by the algorithm complete-
ly agrees to the plan outputted by a domain expert
who was given the same set of inputs. We expand on
Figure 2. Recipes in VirtualLabs for Mix to Same Destination (MSD)
and Mix to Intermediate Flask (MIF) Actions
(a) MSD[s1 + s2, d] ;;MSD[s1, d], MSD[s2, d]
(b) MIF[s1, d2] ;;MSD[s1, d1], MSD[d1, d2]
(c) MSD[s, d] ;;MIF[s, d]
(c) MSD[s, d] ;;MS[s, d]