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.