Building on the successes and shortcomings of previous experiences with computerized psychotherapy, we have attempted to extend the paradigm of intelligent tutoring systems to the domain of therapeutic interaction. Based on canonical examples, I present three dimensions of the task of tutoring systems: teaching problem-solving vs. domain knowledge; teaching isolated domains vs domains where students have prior misconceptions; teaching with the use of functional models of the domain vs no functional models. I then show how implications of these dimensions have helped us determine the specifications of a tutoring system for sexual therapy. Our approach has consisted of engaging patients in a tutoring dialogue driven by the identification of problem areas and their associated misconceptions. A diagnostic module, implemented as a traditional expert system, uses an extensive bug library to derive an internal model of patients. A dialogue driver relies on a hierarchy of dialogue plans and demons in order to preserve a logical grouping of related topics while remaining flexible to adapt itself, at each level of the dialogue hierarchy, to the unfolding case.