Adaptive approaches within distance learning systems enable adapting teaching process to the needs of each learner during the learning process. This paper presents an algorithm for creating an adaptive learning process that provides knowledge and skills improvement for learners in the Java programming language. Also, it presents the application of the tool that checks the learner's knowledge through solving practical tasks from the Java programming language. The adaptive learning process in this work leads the learner through teaching materials and practical tasks where the acquired knowledge is required to be applied. Also, the algorithm, based on the measurement of knowledge and time spent on a particular part of the learning process with detailed feedback and the demonstration of observed deficiencies, directs the learner to teaching materials that allow improving the demonstrated knowledge. Teaching materials are conceived as learning objects and, as such, allow for the application of adaptive approach. An analysis of the effectiveness of the algorithm and tool for practical knowledge testing from the Java programming language was done with a test group of learners who gave their opinions and grades.