Design and implementation of an intelligent tutoring system in the view of learner autonomy