110 likes | 129 Views
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:
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!!!] " ))