Criteria for selecting open web-oriented technologies for teaching the basics of programming to future software engineers

. The article presents the criteria for selecting open web-oriented technologies for teaching the basics of programming to future software engineers. An analysis of the available open web-oriented technologies for teaching the basics of programming to future software engineers made it possible to divide them into compilers, automated systems for checking programming tasks, mind maps, and massive open online courses. Criteria and corresponding indicators are defined for each of them: for web-oriented compilers and mind maps, design and functional criteria are allocated, for web-oriented automated systems for checking programming tasks, design, information-didactic, and communication criteria are allocated, for massive open online courses – informational didactic and functional. Comparative tables are given for all the listed web-oriented technologies for teaching the basics of programming to future software engineers according to certain criteria and indicators.


Introduction
In the context of European integration and the development of the higher education system, the problem of developing the creative personality of a future specialist in the professional training, including software engineers, is of particular importance. At the same time, the goal of this type of training for future software engineers should be subject to the general tasks of training, educating, and developing the personality of a future specialist, primarily due to the transition to a new information society.
As noted by Kremen [8], digitalisation of the educational process is the calling of our time, since education beyond electronic communication, information retrieval and processing based

Related work
Research of scientists in assessing the quality and effectiveness of information and communication technologies (ICT) training mainly covers the issues of assessing the results of educational activities. Thus, Bykov et al. [2], Galchevska [4], Holovnya [7], Spirin et al. [16], Tkachuk et al. [17] considered the criteria and indicators for selecting ICT for educational and scientific activities.
In particular, Panchenko and Khomiak [13] explored the possibilities of using cloud technologies for data analysis. Küçük, Bayılmış and Msongaleli [9] considered the possibility of using cloud technologies in the process of training a computer systems engineer.
Abdullahi et al. [1] explored the possibilities of using cloud technologies for checking and accounting for solutions to programming problems. Markova et al. [11] considered the methodological aspects of the use of cloud-oriented tools in the training of information technology specialists.
Segrelles Quilis, Moltó and Blanquer [15] considered the theoretical aspects of the use of cloud technologies in problem-based learning on grid computing. Glazunova et al. [5] considered the effectiveness of cloud services for implementing a programming training project. Tryus and Kachala [18] considered using cloud technologies in the management and educational process of technical universities.
However, the problems of a comprehensive assessment of web-oriented technologies for teaching the basics of programming to future software engineers require further research with clarification of the criteria and quality indicators associated with the process and result of educational activities.
The purpose of the article is to define the criteria and establish appropriate indicators for the selection of open web-oriented technologies for teaching the basics of programming to future software engineers.

Research method
To achieve this goal, the following methods were used: studying the practical experience of using web-oriented technologies for teaching the basics of programming to future software engineers at the Zhytomyr Polytechnic State University in 2019-2021, systematization and generalization to determine the selection criteria and indicators, peer review method.
Experts were involved twice. The first stage -is to determine the most significant weboriented technologies for teaching the basics of programming to future software engineers. The experts were deans of faculties, heads and teaching stuff from departments related to teaching the basics of programming (20 people).
Using the method of expert evaluation to determine the most significant web-oriented technologies for teaching the basics of programming to future software engineers is that the corresponding learning technologies are numbered in ascending or descending order of a certain feature and ranked according to this feature. In total, 13 different web-oriented technologies for teaching the basics of programming to future informatics teachers (compilers, automated systems for checking programming tasks, mind maps) were proposed for consideration by experts to rank.
A scoring system was proposed, according to which, for = 13 learning technologies, the value of is given to the most significant in use, 1 to the least significant. The results of the surveys are summarized in a table, where the technology number is indicated in the columns, and the expert number is indicated in the cells. To prevent a psychological clue that could influence the expert's choice of certain ranking order, web-oriented technologies for teaching the basics of programming are placed on the card in ascending alphabetical order.
The main parameter for assessing the significance of an indicator is its total rank . The total ranks of indicators are calculated by the formula where -total rank of the -th indicator; = 1, 2, 3, . . . , ; -count of indicators; -count of experts; , -rank of the -th indicator determined by the -th expert. However, such total ranks will be objective if there is a certain level of agreement between the experts. The degree of such agreement determines the concordance correlation coefficient [6]. Taking into account the fact that and the maximum value of the ( 2 ) is achieved if all experts perform the ranking in the same way is , the concordance coefficient is calculated by the formula: Having made calculations according to formulas (1) -(4), based on experimental data, we obtain the value of . If the value obtained is significantly different from zero, then it can be argued that there is an objective agreement between the experts (when = 0, it is considered that there is no connection between the rankings of experts, when = 1, the rankings completely coincide) and the total ranks are quite objective.
Deans of faculties, heads and teaching stuff from departments related to preparation of bachelors in software engineering (14 people) acted similarly to the experts to determine the most significant for the use of platforms for massive open online courses (MOOC). The experts were offered a questionnaire to determine the most significant MOOC platforms for teaching bachelors in software engineering, where the respondents were offered 10 MOOC platforms for ranking. The calculations were made similarly.
MOOC platforms were separated from other web-oriented learning technologies because the authors wanted to hear the opinion of experts on MOOCs separately.
In the second stage, another group of experts was involved in the selection of the most significant web-oriented technologies for teaching the basics of programming: compilers, automated systems for checking programming tasks, mind maps, and massive open online courses. For this purpose, the manifestation of each of the defined criteria for each of the named web-oriented technologies for teaching the basics of programming was checked.
During academic conferences, webinars, workshops, personal meetings, round tables, e-mail correspondence, etc. with the results of using web-oriented technologies for teaching the basics of programming future software engineers, a significant number of deans of faculties, heads and teaching stuff from departments related to training of future software engineers and teaching the basics of programming (more than 50 people) were involved.
However, information to check the manifestation of each of the named criteria for each of the selected web-oriented technologies for teaching the basics of programming to future software engineers was taken from a different number of respondents: 1) for compilers, both criteria were evaluated by 9 people; 2) for automated systems for checking programming tasks, all criteria were evaluated by 12 people; 3) for mind maps, certain criteria were evaluated by 5 people; 4) for mass open online courses, certain criteria were evaluated by 12 people. This is a result of numerous factors. For example, during the interviews, it turned out that the vast majority of associate professors, senior lecturers, and assistants of departments who provide the educational process in the basics of programming in the preparation of future software engineers, could not give reasonable answers to determine the indicators of the criteria for using mind maps and massive open online courses in teaching the basics of programming, as they are not familiar with such technologies at all. More than 50% of them use in the educational process compilers designed for use in only one programming language.
To understand the degree of manifestation of each criterion, the respondents were asked to evaluate its indicators. The indicators were evaluated according to the following parameters: 0 points -the indicator is not observed, 1 point -the indicator is more not observed than observed, 2 points -the indicator is more observed than not observed, 3 points -the indicator is fully observed. The indicator was considered positive if the value of the corresponding coefficient -the arithmetic mean of its parameters -was at least 1.5.
Along with this, the criterion was considered insufficiently manifested if less than 50% of its indicators were positive; critical manifestation of the criterion is 50%-55%; sufficient manifestation is 56%-75%; high manifestation is 76%-100%.

The content and structure of the selection criteria for web-oriented technologies for teaching the basics of programming to future software engineers
According to the results of the survey, the most significant tools for teaching the basics of programming were chosen: • Web-based compilers: codepad and ideone.com.
At the same time, the results of the survey were carried out according to formulas (1) -(4). As a result, we got = 0.58 (for web-oriented learning technologies other than MOOC platforms) and = 0.82 (for MOOC platforms). The obtained values are significantly different from zero, so it can be argued that there is an objective agreement between the experts and the total ranks are quite objective.
Taking into account the above features of training software engineers in higher education institutions, we will define the criteria for selecting open web-oriented technologies for teaching the basics of programming future software engineers.
In [3], the "criterion" is defined as "a standard or principle by which something is judged, or with the help of which a decision is made". Therefore, under the criteria for selecting web-oriented technologies for teaching the basics of programming, we will understand such qualities, features, and properties of web-oriented technologies that are necessary for the successful teaching of the basics of programming to future software engineers.
The criteria for selecting web-oriented technologies for teaching the basics of programming to future software engineers were identified taking into account external and internal criteria and indicators of the quality of educational activities given by Ogawa and Collom [12]. It should be noted that such quality criteria are determine the degree of compliance of pedagogical activity with established goals, standards, and norms.
It is essential that the number of indicators for determining the degree of significance of the criteria for selecting web-oriented technologies for teaching the basics of programming to future software engineers may turn out to be large, and individual indicators of a certain criterion may not be significant enough for its selection. The experience of conducting experimental pedagogical research indicates the need for a reasonable limitation on the number of indicators (quite often, scientists use from 3 to 7 indicators for each criterion).
We use the following criteria and corresponding indicators for the selection of web-oriented technologies for teaching the basics of programming: • compilers -design criterion (reliability; availability; free) and the functional criterion (user input data; ease of use; multilingualism); • automated systems for checking programming tasks -design criterion (reliability; availability; multilingualism; ease of use; free); informational and didactic criterion (task bank; classification of tasks by sections; creation competitions; information about attempts to solve a problem; methodological section; rating; help section); communication criterion (registration of users; providing access with differentiation of access rights; communication between registered users; creation of groups). • mind maps -design criterion (adaptability; free; ease of use; cloud infrastructure) and functional criterion (multilingualism; storage of mind maps; distribution of mind maps; template library); • massive open online courses -informational and didactic criterion (creating your own courses; existing course bank; covering topics of different subjects; covering topics of discipline; tasks; courses of world universities); functional criterion (multilingualism; user registration; one account for several courses).
Let's take a closer look at the results for each of the selected web-oriented technologies for teaching the basics of programming.

Web-oriented compilers
The design criterion characterizes the clarity, superiority, and accessibility of the use: • The 'reliability" indicator 'characterizes the smooth functioning of web-oriented compilers (the indicator was evaluated by a group of experts).
• The "availability" indicator assumes that the compiler should be available in the Internet, and also at any time and in any place (including both for teachers and students). • The "free" indicator provides for a free tariff plan for use. Table 1 shows the design criterion scores for each of the selected compilers. The functional criterion characterizes the functional component of the compiler: • The "user input data" indicator provides the possibility of entering various input data when the program executed. • The "ease of use" indicator suggests that the compiler should be easy to use for the student, it also provides for convenience and clarity in use, organization of access, and mastering the use of different groups of students. • The "multilingualism" indicator assumes that the compiler supports different programming languages. Table 2 shows the functional criterion scores for each of the selected compilers. So, as the study shows, ideone.com is the most convenient and high-quality toolkit among web-oriented compilers for teaching the basics of programming to future software engineers by manifesting all criteria.

Web-oriented automated systems for checking programming tasks
The design criterion characterizes the convenience, reliability, and safety of using web-oriented automated systems for checking programming tasks.
The indicators "reliability", "availability", "multilingualism", "ease of use" and "free" are described above. Table 3 presents the indicators of the design criterion for each of the selected web-oriented automated systems for checking programming tasks (WOASCPT). The informational and didactic criterion characterizes the informational and didactic components of a web-oriented automated system for checking programming tasks: • The "task bank" indicator characterizes the presence of a large number of tasks in weboriented automated systems for checking programming tasks. • The "classification of tasks by sections" indicator implies the systematization and classification of all available tasks according to different classifications [21]. • The "creating competitions" indicator is responsible for the possibility of creating competitions for participants in the educational process. • The "information about attempts to solve the problem" indicator implies the presence of information about the number of attempts to solve a particular problem in general and the percentage for which this or that task is credited. • The "methodological section" indicator characterizes the presence of a methodical section in a web-oriented automated system for checking programming tasks. • The "rating" indicator assumes the presence of a general rating of users, including separately in competitions. • The "help section" indicator suggests that a web-oriented automated system for checking programming tasks should contain a help section or at least feedback. Table 4 presents the indicators of the information and didactic criterion for each of the selected web-oriented automated systems for checking programming tasks. The communication criterion characterizes the organizational and communication component of a web-oriented automated system for checking programming tasks: • The "registration of users" indicator implies the possibility of registering new students on their own, without outside support, as well as the differentiation of access rights with different opportunities for students and teachers. • The indicator "providing access with differentiation of access rights" provides access to the system for any user by delimiting access rights to different categories of users: students, teachers, administrators, and parents. • The indicator "communication between registered users" implies the ability to maintain communication. • The "creation of groups" indicator implies the possibility of creating groups for more convenient communication and notification of users, as well as the possibility of creating competitions in a specific group. Table 5 presents the indicators of the communication criterion for each of the selected web-oriented automated systems for checking programming tasks. So, as the study shows, Eolymp is the most convenient and high-quality tool among weboriented systems for checking programming tasks for the manifestation of all criteria.

Web-oriented mind maps for learning the basics of programming
The design criterion characterizes convenience, reliability, and adaptability in use: • The "adaptability" indicator characterizes the mind map in terms of adaptation to use in various operating systems (Windows, Android, iOS, etc.). • The "free" indicator assumes a free usage plan, although not a fully functional one.
• The "ease of use" indicator suggests that the mind map should be easy to use. • The "cloud infrastructure" indicator characterizes the cloud-oriented service for creating smart maps. Table 6 presents the indicators of the design criterion for each of the selected mind maps. The functional criterion characterizes the functional component of mind maps: • The "multilingualism" indicator assumes that mind maps support different languages. • The "storage of mind maps" indicator implies the ability to store mind maps in the form of pictures. • The "distribution of mind maps" indicator characterizes whether it is possible to distribute a mind map on the Internet. • The "template library" indicator provides for the ability to select a template from existing ones. Table 7 shows the indicators of the functional criterion for each of the selected mind maps. So, as the study shows, the most convenient and high-quality toolkit among web-oriented mind maps for teaching the basics of programming to future software engineers for the manifestation of all criteria is Mindmeister.

Massive open online courses for teaching the basics of programming
The informational and didactic criterion characterizes the informational and didactic components of the MOOC platform: • The "creating your own courses" indicator characterizes the ability to create your own online courses as a teacher. • The "existing course bank" indicator provides a large number of courses. • The "covering topics of different subjects" indicator ensures the availability of courses in various academic disciplines, provided by the curriculum for the preparation for bachelors in software engineering. • The "covering topics of discipline" indicator provides for the coverage of topics of the academic discipline according to the curriculum and work program of the discipline.
• The "tasks" indicator characterizes the tasks that are available after each video, or at least questions to test the consolidated knowledge. • The "courses of world universities" indicator provides for the availability of courses in various academic disciplines offered by world universities. Table 8 presents the indicators of the information and didactic criterion for each of the selected MOOC platforms. The functional criterion covers the functionality of massive open online courses: • The "multilingualism" indicator characterizes whether the MOOC has the opportunity to listen to the course in different languages. • The indicator "user registration" characterizes whether the MOOC is open to all or only to registered users. • The indicator "one account for several courses" characterizes the ability to register under one name for several courses. Table 9 presents the functional criterion indicators for each of the selected MOOC platforms. As the study shows, the most convenient and high-quality tool among the MOOC platforms for use in the training of software engineers in terms of the level of manifestation of all criteria is the Udemy MOOC platform.

Discussion
As you can see, experts identify a number of web-oriented learning technologies to improve the process of teaching the basics of programming to future software engineers. In the process of training software engineers, all specified learning tools that meet the selected criteria and indicators should be used. However, given the constant changes in the field of ICT, teachers should review the proposed technologies once a year and, in the case of fundamental changes in functionality or the introduction of new specified teaching technologies, conduct an updated survey to establish the best quality tools that are appropriate for use in the software engineering training.
The use of these technologies for teaching the basics of programming not only facilitates the educational process but also provides students with various technologies that will be useful to them in their future professional activities.
It should be noted that the use of MOOCs in software engineer training is only used if a portion of the content is pulled out for individual study, which, according to an analysis of curriculums for training software engineers, is at least 66%. They are simple to use and can be used as an additional learning tool.

Conclusion and future work
Inadequate awareness of the problem of applying cloud-oriented and web-oriented learning tools, as well as a lack of examples of their practical application, contributed to a complete examination of the problem of their use in the HEI educational process. To that purpose, it proved necessary to examine the available cloud-based and web-based learning tools for use in the training of software engineers. As a result, it was determined that for the selection of cloud-oriented and web-oriented learning tools, it is advisable to use software engineers for training, certain criteria and indicators should be taken into account.
It was established which of the proposed web-oriented technologies best fit certain criteria for teaching the basics of programming to future software engineers. In particular, among web-oriented compilers for teaching the basics of programming to future software engineers, ideone.com should be recommended for use, among web-oriented systems for checking programming tasks -the Eolymp Internet portal, and among web-oriented mind maps -Mindmeister, among the MOOC platforms for use in training software engineers for the manifestation of all criteria is the MOOC platform Udemy.
In the future, the essential components of a methodological system for teaching the basics of programming to future software engineers will need to be developed.