The aim of this work is to develop a tool for teachers, without necessarily software development experience, to elaborate tutoring applications on a given domain. The teacher makes use of stored knowledge to choose the required contents so that the system automatically generates exercises. These exercises are completed and evaluated in real time, according to the student's reality, being able to mediate with the pupil to achieve the maximum session utilization. Control of the learning process is distributed among the student, the teacher, and the system. The student may choose the activities he/she likes to carry out, within a sub-group specified by the teacher, whereas the system specifies the exercise complexity, on the basis of the pupils performance. This work is grounded on knowledge re-utilization that makes use of pre-defined knowledge structures. These structures can be edited by a teacher to generate activities. These are carried out by a simulator, controlled by an expert system, that interacts with the student adjusting to the pupil's needs. Elements from both the instructionist and constructivist model were used. It was implemented for the practice of certain skills related to math in pre-school children.