5. A computer implemented method in accordance with claim 1 wherein problems in said problem domain are constructed from AST-data structures further comprises: a) Receiving an AST Data Structure , b) Selecting a node in said AST Data Structure, c) When said node is a terminal input node, assigning a value to said input node, d) When said input node is the parent of an AST data structure with a fixed number of child nodes, assigning values to each said child node, e) When said input node is the parent of an AST data structure of a variable number of child nodes, each said child node having the same AST sub-structure, wherein said AST data structure is called a prototype AST, creating a finite number of child AST data structures and assigning values to nodes in each said child AST data structure, f) When said node is an output node in said AST Data Structure, making said node a Goal node of said problem and g) Repeating said steps b) through f) until all nodes are terminal nodes.
1. A computer implemented method comprising one of selecting and receiving a problem domain, said problem domain containing problems defining behavior to-be-learned by at least one student, wherein said method includes a knowledge representation tool, wherein said knowledge representation tool enables at least one author to specify to-be-learned knowledge in sufficient detail to enable said student to solve problems in said problem domain and an interface creation tool, wherein said interface creation tool enables said author to define at least one medium through which to interact with said student, said computer implemented authoring method comprising the steps of: a) Constructing a SLT rule for solving problems in said problem domain, wherein said SLT rule consists of at least one data node and one procedure node, b) Constructing said SLT rule further consists of constructing an AST data structure and a procedure AST that operates on said AST data structure; wherein said AST data structure and said AST procedure are constructed by successive refinement of nodes, c) For each terminal node in said procedure AST, making said terminal node executable on a computer by providing said terminal node with means for specifying outputs of said terminal node, d) Assigning information, including associated media, to nodes in said SLT rule, to convey at least one of instruction, question, positive feedback and corrective feedback, e) Constructing at least one AST-based problem, each said problem being a data structure AST serving as data for said SLT rule, and f) Using said interface creation tool to assign attributes to nodes in each said AST based problem, including attributes defining at least one of location, how problem nodes are to be displayed on said interface, kinds of responses students are to provide and how student responses are to be evaluated, and g) Defining at least one method for interacting with said student, wherein said method includes at least one of mastery options, delivery options and interference methods specifying how tutoring decisions are to be made.