340 likes | 477 Views
A Web-Based Intelligent Tutor for Elementary Algebra Equation Solving. Sherman R. Alpert Mark K. Singley Peter G. Fairweather Applied Learning Sciences Department IBM T.J. Watson Research Center POB 218 Yorktown Heights, NY USA { alpert, ksingley, peterf } @ watson.ibm.com.
E N D
A Web-Based Intelligent Tutor for Elementary Algebra Equation Solving Sherman R. AlpertMark K. SingleyPeter G. FairweatherApplied Learning Sciences Department IBM T.J. Watson Research CenterPOB 218Yorktown Heights, NY USA{ alpert, ksingley, peterf } @ watson.ibm.com
Algebra tutoring on the Web • Problems: • Building intelligent educational software is difficult and time-consuming • Despite >¼ century of research and even technical successes ITSs are, for the most part, in front of only a handful of real students doing real work on a regular basis (some exceptions, e.g., the CMU algebra tutors in Pittsburgh schools) • Web offers unprecedented opportunity to deliver ITSs to broad audience, in broader range of settings (not just classroom) and amortize development cost per student
Porting an ITS to the Web • We built a standalone ITS for elementary algebraic equation solving (ran on Wintel platform -- only) • AlgeBrain focuses specifically on the skills and knowledge involved in transforming and simplifying equations toward the goal of solving for a particular variable • AlgeBrain offers a practice environment with the benefit of a coach providing advice and remediation
Porting an ITS to the Web • We built it, it works, now what? …Common problem: how do deploy our ITSs to reach real students and lots of them? • Solution: the Web • But Problem: We’ve already built a standalone tutor • Solution: Convert existing tutor to be Web-enabled
Standalone ITS This is the standalone tutor’s UI. We wanted to replicate standalone tutor’s look-and-feel in Web version.
Web-enabled evolution • Our standalone ITS conformed to a popular, widely-used, standalone-ITS architecture: • Tutorial Module, the overall "manager" of tutorial interactions • A cognitive simulation of anExpert Problem Solver for the tutor’s domain; in our case, domain is equation solving, solver is rule based • The code underlying the User Interface • Student Model for maintaining information about the student’s knowledge over time (full disclosure: we didn’t get to the point of implementing more than a placeholder for the student model component)
Evolving AlgeBrain to the Web • We started with our standalone tutor’s architecture
Evolving AlgeBrain to the Web • Eliminated the UI • component, • retainingthe 3 other • components essentially • as is
Evolving AlgeBrain to the Web • Reimplemented UI component as a Java applet, executable in Web browser. Incorporates socket communication capabilities to talk to server. • This forms client • portion of the distributed • ITS architecture.
Evolving AlgeBrain to the Web • Implemented new module in server that "substitutes" for former UI component; adds socket communication capabilities, and communicates with other server components asifit were the UI module
Evolving AlgeBrain to the Web • These 4 modules • -- almost identical to original standalone • design -- form • componentry of • server side of the distributed tutor architecture
Internet Evolving AlgeBrain to the Web • Via communication over the Internet, the distributed • implementation behaves as a coherent whole • to users
Architecture • Web-based architecture we suggest adapts and extends an architecture for standalone ITSs that is in common usage • 3 of 4 modules remain, for the most part or completely, unchanged -- replace single (UI) component • As such it should facilitate the migration of other existing standalone systems to the Web
Little bit more about theUI Proxy Module • 2 roles: • network/socket communicator • translator
UI Proxy Module • User interacts with client UI (eg, pushes a button); client sends text msg to server
UI Proxy receives ASCII message on socket & sends translated msg & data to Tutorial Module as if sent by original UI Module UI Proxy Module • User interacts with client UI (eg, pushes a button); client sends msg to server
UI Proxy receives ASCII message on socket & sends translated msg & data to Tutorial Module as if sent by original UI Module • Opposite direction involves same sort of translation by Proxy: Tutorial Module sends msg/data to UI Proxy, which sends "translated" msg to Java Client UI Proxy Module • User interacts with client UI (eg, pushes a button); client sends msg to server
Access to tutor • Students can now access the tutor from a standard Web browser • need not own a copy of a standalone program • eliminates logistical problems of distributing software to individuals • kids always using latest version • access from anywhere user has Web access, at anytime (not just in school) (of course the "digital divide" impacts this, but hopefully libraries and community centers can take up slack) • no matter where you are, your student model is there -- resides on server - so tutor always knows current knowledge level regardless of where user is
Solving equations - simple interaction • Select term(s) directly in eq - we wanted students’ operand selection to be explicit • Unambiguous, despite possible multiple identical terms in eq -- e.g., ”20” in eq on previous page • Term(s) are not typed into a text field or selected from multiple-choice list) • Tutor’s term-selection code is "smart" in that it knows about eq structure; selection is not simple swipe thru text like word processor but rather can select entire terms by single click (see paper for more details) • After selecting term(s), student clicks on algebraic-operation button...
Solving equations (cont’d) • After user selects term(s) and algebraic operation, client applet sends the student’s proposal to server for correct/incorrect determination • If correct, equation rewritten, AlgeBrain agent applauds via animation, audio feedback: sound effect or voice • If incorrect, animated agent appears ”puzzled,” appropriate audio feedback
Engaging Users • We wanted the user experience to involve a highly interactive graphical interface; Applet running on client allows for this • Rationale: engaged users may spend more time on task; time spent in effective practice has proven to be directly correlated to improving performance of cognitive skills • E.g.: • intelligent selection of terms directly in equations with immediate visual feedback • interactive graphing component that responds immediately to user actions • animated agent "who" can be called on for help
Engaging Users • media elements --animation, audio -- attempt to incorporate a sense of playfulness; e.g., • animated interface agent to click on for help • agent provides “correct/incorrect” feedback via animation • feedback also via playful audios • To see interface agent animation and hear audios, click here
Diagnosis via “Liberal Model Tracing” • Expert solver module is rule-based -- However, for each equation state, rule engine does not select single rule instantiation (i.e., single operator/ operands) as the single/"only" correct next step • Instead, AlgeBrain considers all equally beneficial operations to be correct: • For any equation there may be more than one valid next step (valid = brings the student closer to solution) - simple e.g.: x + 2x = 1 + 8 • So at each state in the problem solving process, the expert solver infers all valid operation/ operand pairings
Diagnosis via “Liberal Model Tracing”(cont’d) • Then the expert system suspends processing • When a student proposal is received it is matched against each operation in this collection of valid operations • If the student proposal matches any instantiation, the proposal is considered valid, and the server pgm sends “correct” message to the client applet • The expert solver then continues processing, firing the rule associated with the instantiation matching the student’s choice -- in essence, the student’s selection acts as the expert system’s conflict resolution mechanism • If no match for the student proposal is found among the conflict set’s instantiations, the proposal is considered incorrect and appropriate response sent to client
Buggy rules • Expert solver also includes rules that model common student errors • When a student’s proposal matches buggy rule’s, the tutor is in the position to offer focussed remediation specific to the error • For example: • 3(x + 5) = 21 • Student proposes "Subtract 3 from both sides" • Ruleset contains a buggy rule whose pattern matches current eq and whose (wrong) proposal matches student’s • This rule contains an appropriate remedial response: "That won’t help simplify the equation. If you want to remove the number from the left side, don’t subtract. Divide."
User-requested Hints • Click on the dancing AlgeBrain agent to ask for hint • Tutor responds with two types of support • general “here’s what the tutor is expecting you to do at this point” • a hint specific to the current state of the problem, that is, a valid operator and associated operands given the current equation state
User-requested Hints • For hinting purposes, the tutor wants to use the "best" move in the conflict set (i.e., tell student the best transformation given current equation) • So in this case the expert solver performs its normal conflict resolution to pick a single rule instantiation representing the best operation/operands • The rule associated with the "winning" instantiation is consulted for the hint text • Repeated hint requests result in increasingly specific information (multiple hints contained in Rule objects) • Even though the tutor suggests the "best" next operation, the tutor does not force users to walk a particular path through the problem, and still accepts alternative valid steps (as we’ve seen)
Example-BasedJust-in-Time Dictionary • While using tutor students may forget the meaning of particular operations or their usage in simplifying equations (e.g., student doesn’t recall how to "collect like terms" as suggested by tutor hint) • Right-button click on the "Collect" button opens the "collect like terms" dictionary definition • Hence dictionary explanations are provided in situated context of actual problem solving, making them more memorable
Example-BasedJust-in-Time Dictionary • Dictionary window includes declarative information in the form of explanatory text, plus a set of concrete examples of the usage of the algebraic operation in several equations • Dictionary entry animates steps in using the operator -- we’ll see in demo • To see an animated Dictionary entry click here
Problem Solving History • Allow student to review (and reflect upon) problem solving steps (correct and incorrect) taken on current problem • Recap of correct steps toward solution supports recall • Rationale: in our own empirical work, we've observed problem solvers reaching a solution state but unable to reconstruct the steps they exercised to get there • So history may be filtered to elide all missteps and display only moves that led to solution
Problem Solving History User clicks “History” button (bottom) to view history of her problem solving activity on current problem. All student operation proposals --correct and incorrect -- are displayed
Problem Solving History User clicks “Correct” button (on top of History view) to recap only valid steps (equation transformations) toward solution.