110 likes | 129 Views
Explore challenges in Flash interaction with CTAT and solutions. Discuss Behavior Graphs and Production Rules for improved interactivity.
E N D
Flash Interaction and CTAT • Challenges: • Only “comm elements” talk with CTAT. • But interactivity in Flash is done with other elements (like graphic buttons). • CTAT will stop the interaction once the correct answer is inserted. • Possible Solutions: • Send messages to the “comm” elements from the flash elements. • Make the interaction as an additional component. Rinat Rosenberg-Kima
Example-Tracing vs. Cognitive-Tutor • Example-Tracing: • Very easy to use • May be tedious • Good for non-recurrent problems. • Cognitive-Tutor: • Much (!) harder…but possible… • Extremely useful for recurrent problems • Helps to extract the mental process of the students
Production Rules: (defrule find-prod ?problem <- (problem (interface-elements ? ? ?tp ?) (subgoals ?fbs ?fhs)) ?fbs <- (subgoal (name find-base) (value ?b &:(neq ?b nil))) ?fhs <- (subgoal (name find-height) (value ?h &:(neq ?h nil))) ?tp <- (textInput (name T_baseXheight) (value nil)) => (bind ?p (* ?b ?h)) (predict-observable-action T_baseXheight UpdateTextField ?p) (modify ?tp (value ?p)) (construct-message "[ Just multiply the base and the height. ] [22 x 10 = ?] [22 x 10 = 220!] " )) (defrule find-area ?problem <- (problem (interface-elements ?ta ? ?tp ?) (subgoals ?fbs ?fhs)) ?tp <- (textInput (name T_baseXheight) (value ?p &:(neq ?p nil))) ?ta <- (textInput (name T_area) (value nil)) => (bind ?a (integer (/ ?p 2))) (predict-observable-action T_area UpdateTextField ?a) (modify ?ta (value ?a)) (construct-message "[ Area = (base x height)/2 ] [You should devide " ?p " by 2] [22 x 10 = 220!] " )) (defrule start-triangle-area ?problem <- (problem (interface-elements ? ?tb ? ?th) (subgoals)) ?tb <- (textInput (name T_base) (value nil)) ?th <- (textInput (name T_height) (value nil)) => (bind ?fbs (assert (subgoal (name find-base) (value nil)))) (bind ?fhs (assert (subgoal (name find-height) (value nil)))) (modify ?problem (subgoals ?fbs ?fhs)) (construct-message "[ To find the triangle area, you better start by finding the base and height. ]" )) (defrule find-base ?problem <- (problem (interface-elements ? ?tb ? ?) (subgoals $? ?fbs $?)) ?fbs <- (subgoal (name find-base) (value nil)) ?tb <- (textInput (name T_base) (value nil)) => (predict-observable-action T_base UpdateTextField 22) (modify ?fbs (value 22)) (modify ?tb (value 22)) (construct-message "[ Notice that AB is the base. ] [What is the length of AB?]" )) (defrule find-height ?problem <- (problem (interface-elements ? ? ? ?th) (subgoals $? ?fhs $?)) ?fhs <- (subgoal (name find-height) (value nil)) ?th <- (textInput (name T_height) (value nil)) => (predict-observable-action T_height UpdateTextField 10) (modify ?fhs (value 10)) (modify ?th (value 10)) (construct-message "[ Notice that AD is the height. ] [AD equals 10] [The height is 10!!!] " ))