An Intelligent Tutoring System (ITS) is capable of monitoring the progress of a student learning a new skill or language using PC and giving advice. The system has a pool of lessons and exercises with varying degrees of difficulties. While the student goes through a lesson or an exercise, the ITS checks his/her performance, corrects the errors and produces extra exercises to strengthen the weak-points of the students. The difficulty level of the contents is not increased linearly to avoid boredom, but with carefully planned jumps. This in further improves the student motivation.