The most important potential of E-learning system is the ability to adapt based on learner's status in order to support personalized learning. However, this requires using specific learner's parameters as factors to control adaptation process, these include learning style, presentation preferences, and progress preference through the subject. This is paper presents our web-based tutoring system to support students learning of computer programming. The novelty of our system is using cognitive process levels in revised Bloom's taxonomy as the factor of adaptation to learner progress, where system moves learner from simple levels to more complex ones.