Implementation of education for sustainable development principles in the training of future software engineers

The article examines the professional training of future software engineers in higher education institutions in the context of the implementation of the Sustainable Development Goals set by the UN General Assembly, as well as the Education for Sustainable Development (ESD) principles. A number of contradictions that arise in the course of this training are mentioned on the example of training of future object-oriented programming engineers. The UNESCO documents on education for sustainable development, scientific sources on the professional training of future software engineers, as well as the integration of sustainable development into relevant educational programs are analyzed. The methodology and results of experimental work carried out with the aim of overcoming existing contradictions, promoting sustainable development of information technology education and implementation of ESD principles in the process of professional training of future software engineers are presented. In particular, the organizational and methodological conditions, that were implemented into the educational process, and experimental data are presented. The effectiveness of the experimental work was proved by statistical verification of the reliability of the obtained data.


Introduction
The achievement of the Sustainable Development Goals set in 2015 by the UN General Assembly [1] is linked to the training of highly qualified professionals from all sectors of the economy who are capable of reflection, professional mobility and lifelong learning, aware of responsibility for the results of their activities. Such training is based on Education for Sustainable Development (ESD) principles.
According with UNESCO Roadmap "ESD empowers learners to take informed decisions and responsible actions for environmental integrity, economic viability and a just society, for present and future generations, while respecting cultural diversity. It is about lifelong learning, and is an integral part of quality education. ESD is holistic and transformational education which addresses learning content and outcomes, pedagogy and the learning environment. It achieves its purpose by transforming society." [2, p. 12].
Intensive development of the information technology and the need to overcome the numerous challenges facing humanity, lead to an increase in requirements for professionals whose activities are creation, implementation and maintenance of software. The professional training of such specialists in the bachelor's and master's degrees of higher education in Ukraine is carried out in the specialties of the field of knowledge "Information Technology", in particular "Software Engineering" and "Computer Science". In order to ensure that the level of professionalism of graduates of these specialties corresponds to the requirements of society, effective procedures of updating the content, forms, methods and means of training should be implemented in higher education institutions on the basis of systematic monitoring of the state of the industry and a balanced combination of fundamental, applied and humanitarian components of higher education. This is the opinion of Ukrainian researchers V. Kruhlyk and V. Osadchyi [3], A. Striuk and S. Semerikov [4], T. Vakaliuk, V. Kontsedailo, D. Antoniuk, O. Korotun, I. Mintii and A. Pikilnyak [5], O. Markova, S. Semerikov, A. Striuk, H. Shalatska, P. Nechypurenko and V. Tron [6], H. Chemerys, K. Osadcha, V. Osadchyi and V. Kruhlyk [7] and others.
An important area of professional work of software engineers is the software development using an objectoriented approach, so graduates of higher education institutions should understand its fundamental principles, be able to use object-oriented programming languages, to apply existing and make their own decisions, to decompose and compose tasks, to document the process of building an object model, etc. The lack of the necessary capabilities of the developers is one of the reasons for the low quality of software products, which in some cases pose a threat to the sustainable future. Other threats include focus on current tasks and immediate goals, lack of understanding of global economic, environmental and social issues, opportunities to overcome or minimize them at the level of individual IT-professionals or businesses, the impact of IT-products on the present and future, and responsibility to future generations.
Therefore, there is a need to create in the higher education institutions the conditions for students to develop appropriate professional competences.
Domestic and foreign scientists have thoroughly developed conceptual foundations and examined some aspects of higher education and professional training of future software engineers. However, insufficient attention is paid to developing their professional competence in the study of object-oriented programming (OOP), as well as to acquire the knowledge and skills necessary to pursue activities with a view to sustainable development goals. Therefore, there are contradictions between: the need to combine the fundamental theoretical and thorough practical training of future software engineers as highly qualified specialists and the limited time of studying the disciplines of the vocational training cycle; the necessity of using abstraction, decomposition and composition in the process of studying OOP and insufficient level of abstract-logical thinking in students; high level of complexity of OOP educational content and insufficient readiness of higher education students to systematic cognitive self-activity; possibility to demonstrate object-oriented approach on the example of large projects and traditional use of educational tasks with limited content; the society requirements for the professional training of software engineers and the students' lack of awareness of these requirements; lack of knowledge on sustainability issues and the need to promote a sustainable future in professional life and daily life.
Purpose of the article: to present the results of experimental work carried out with the purpose of overcoming the mentioned contradictions, promoting sustainable development of IT education and implementation of ESD principles in the process of professional training of future software engineers.

Literature review
As I. Mulà et al. emphasise "The world is shaped by an education system that reinforces unsustainable thinking and practice" [8, p. 798]. So, it is very important to transform an education system taking into account aims of sustainability and sustainable future. Education for sustainable development principles are substantiated in numerous UNESCO documents [2; 9; 10; 11] and discussed in scientific papers [8; 12].
Internationally recognized ESD principles are named by D. Tilbury and I. Mulà. They are the next: futures thinking; critical and creative thinking; participation and participatory learning; partnerships; systemic thinking [11, p. 5]. Moreover, there are pointed out key ESD learning themes (e.g., gender equality; biological diversity; ecological principles, ecosystems; natural resources management; health and well-being; consumerism and ethical trade; rural and urban development; corporate social responsibility) that are critically significant to the sustainable development agenda [11, p. 6].
Implementation of ESD principles in the process of professional training of future software engineers in higher education institutions is in different ways, in particular: deep informatization of the educational process [5; 6; 13; 14]; enhancing opportunities for professional mobility and lifelong learning for IT professionals through the development and implementation of intelligent means of recognition of qualifications and competences obtained in different countries and educational institutions [15]; improving educational programs for the short cycle of vocational training [16]; improving the content, forms, methods and tools of object-oriented programming [17]; introduction of sustainability issues to the content of educational programs [18; 19; 20; 21] and others.
A detailed analysis of scientific literature on the problems of OOP training future software engineers was carried out in [17].
Researchers in the training of computer science and software engineers note that sustainable development issues are hardly addressed in relevant university education programs. However, software engineers should take their share of responsibility for sustainability because of growing of IT's productivity in combination with cutting down of life cycles and growing resource problems of our planet [18, p. 454]. In this regard, it is necessary to determine the mechanisms for introducing sustainable development issues into university computer science and software engineering curricula, as well as motivating students and teachers to address them. In foreign pedagogical practice these issues have been investigated sufficiently well.
B. Penzenstadler and A. Fleischmann offer a strategy for integrating the concept of sustainability into a degree course scheme across three stages: 1) to propose a seminar and form a core of interested people; 2) to give a lecture series for broaden the awareness for sustainability; 3) to establish sustainability as topic by integrating it into the syllabus of appropriate software engineering lectures with teach-the-teacher seminars. During a seminar student should examine chosen issue and to present their topic in class. They are offered such seminar topics as: "Climate killer internet? Energyefficient nets and systems have a notable impact", "Climate change research and software engineering for climate research", "Marketing for sustainability -how can I make it matter for software engineers?" etc. [18, pp. 455-456].
D. H. Fisher, Z. Bian and S. Chen emphasize the nexus between sustainability and computer science and the necessity to integrate sustainability science and engineering into computing education [19, p. 95]. They survey two levels of integration of sustainability into computer science higher education (the course level and the course component level) and give different examples of such combination. Scientists identify the course-level integration as introducing computer science courses that focus on topics at the intersection of computing and sustainability. These are such courses as "Computing, Energy, and the Environment", "Seminar on Computational Sustainability: Algorithms for Ecology and Conservation" etc. Component-level integration is implemented by introducing lectures, exercises, and projects, with sustainability themes into computer science courses that do not have a sustainability focus, such as courses in computer organization, databases, and artificial intelligence [19, p. 93-94].
Three sustainability integration strategies are offered by Y. Cai: 1) developing a new course named "green computing" covering selected sustainability and green computing topics; 2) designing and developing independent green computing learning modules and projects that can be easily plugged into the existing computer courses; 3) an integrative and transformative approach to completely re-design some computing courses with sustainability as one of the top priorities [20, pp. 525-526].
L. M. Hilty and P. Huber [21] consider that sustainable development is an important part of the curriculum of ICT-related study programs and content is strongly significant to interest students in it. They present results of empirical investigation aimed identifying topics with the greatest potential to motivate students on sustainability. Researchers reveal five clusters of such topics, namely: "ICT impacts on sustainability"; "Material resources for ICT hardware: Informal recycling"; "ICT as an enabler: Saving material and energy: Videoconferencing example"; "Resource consumption: Global distribution"; "Rebound effect: General concept" [21, p. 652].
An example of IT-students participation in project aimed solution one of sustainability tasks -"provide safe, non violent, inclusive and effective learning environments for all" [1] -is given in [22].

Research methodology
The ideas of education for sustainable development were realized by us in the process of experimental and experimental work on forming the professional competence of future software engineers in the process of studying object-oriented programming, necessary for further successful activity in the specialty.
The experiment was conducted during 2015-2018 on the basis of higher education institutions of Ukraine, in particular, the Bogdan Khmelnytsky Melitopol State Pedagogical University. 135 second-, third-and fourthyear students of full-time education studying 6.040302 "Informatics" field and 122 "Computer sciences and information technologies" speciality have taken part in the qualifying and forming stages of the pedagogical experiment. The number of the control group (CG) was 69 people, experimental (EG) -66 people.
We followed this sequence of pedagogical research [23, p. 10]: 1) comparison of the initial state of formation of components of professional competence in students of the control and experimental groups according to certain criteria and indicators, establishing the absence of statistically significant differences; 2) introduction of the developed organizational and methodological conditions for the formation of professional competence of future software engineers in the process of studying object-oriented programming in the experimental group; 3) comparison of the final state of formation of components of professional competence in students of the control and experimental groups according to certain criteria and indicators, establishing the presence of statistically significant differences.
In the course of this work, the levels of professional competence components of future software engineers identified by us in [17] were diagnosed: -motivational: a set of motives that encourage higher education students to actively study OOP; their interest in the in-depth study and use of OOP in their further professional activities; readiness for self-development in object-oriented development; -cognitive: development of abstract-logical thinking; possession of techniques of formalization, abstraction, decomposition and composition; understanding the fundamental basics of OOP and their implementation in different programming languages; set of theoretical knowledge of fundamental concepts and applied aspects of OOP; -operational: formation of skills in object-oriented programming necessary for effective professional activity; -reflexive: the ability to self-understand, analyze and evaluate yourself as a specialist and your actions in the current situation, in the past and in the future, as well as yourself as a member of the software development team.
Since the ECTS scale is used in the institutions of higher education of Ukraine to evaluate students' academic achievement, five levels of formation of these components of the professional competence of future software engineers have been identified: -professional: certifies the formation of a component of professional competence at the level of an experienced software engineer and the ability of the student to enter professional activity as a mid-level specialist without additional training, corresponds to the level "A" of the ECTS scale; -high: certifies the formation of a component of professional competence at the level of junior software engineer and the ability of the student to start professional activity and independent tasks without additional training, corresponds to the level "B" of the ECTS scale; -sufficient: certifies the formation of a component of professional competence at the level of the junior software engineer and the ability of the student to start professional activity and independently perform tasks with additional training at the enterprise, corresponds to the level "C" of the ECTS scale; -low: certifies the formation of a component of professional competence at the level of the novice programmer and the ability of the student to begin professional activity as a junior software engineer only under the direct supervision and with additional training at the enterprise, corresponds to the level "D" of the ECTS scale; -critical: certifies the extremely low level of professional competence component and the student's lack of ability to take up professional work as a software engineer, corresponds to the "E" level of the ECTS scale.
In the experimental group, the educational process was organized on the basis of the following organizational and methodological conditions [17]: 1) Formation of positive motivation for students to study and apply in future professional activities of OOP. The implementation of this condition included demonstration of examples of software development practice, meetings with leading specialists of IT enterprises, organization of group implementation of software projects, involvement of students in the discussion of practical aspects of the software engineer.
2) Formation of a cross-cutting content-activity line of studying OOP within the disciplines of the vocational training cycle. Within each successive course, fundamental concepts of object-oriented programming were repeated, and they were considered at a new level of complexity, taking into account the specifics of a particular area of software development.
3) Application of appropriate forms and methods of formation in higher professional qualifications. The implementation of this condition involved the implementation of various types of software projects, the use of training tasks in object-oriented programming, interactive teaching methods and game technologies.
4) Use of modern information and communication technologies in the process of education of students of OOP, namely: software for educational purposes, software development environments, visualization tools, training management systems, distance courses in academic disciplines and additional specialized online resources.
Some ESD ideas were implemented during the development of the students' program projects. In particular, they were offered project topics such as: developing programs for the statistical processing of observation data (demographic economic, meteorological, medical, biological, etc.); development of educational programs for students of general secondary education institutions (simulators, didactic games, etc.); development of programs for automation of separate production processes for enterprises of different industries, etc. In order to create quality software, students had to pre-analyze the problem given the problems of a sustainable future and the goals of sustainable development.
The measures envisaged by the pilot program were implemented within the training disciplines of the cycle of professional training: "Programming", "Objectoriented programming", "Cross-platform programming", "Web application programming and support".
To evaluate the likelihood of the experimental data obtained, a method of testing statistical hypotheses was used.
The hypothesis of the absence of significant differences in the average values of indicators of the formation of components of professional competence in students of control and experimental groups was tested using the Student's t-test (1) [24, p. 185].
where and , and , and -averages, variances, and volumes of the first and second samples, respectively.
Testing the hypothesis about the conformity of the samples to the normal law of distribution of random variables was performed using formulas (2) and (3) where A -asymmetry indicator, Е -excess indicator, m A and m E -representativeness errors for each of these indicators, respectively. Volumes of control and experimental groups = 69 and = 66 respectively. Number of degrees of freedom k = n CG + n ЕG -2 = 69 + 66 -2=133. Critical significance of the Student test for 133 degrees of freedom and significance level α=0.05: t cr  1.98.

Qualifying stage of the research
The empirical data obtained at the ascertaining stage of the pedagogical experiment gave reason to draw the following main conclusions: 1) future software engineers in the control and experimental groups found insufficient level of professional competence development: approximately one third to two thirds of students demonstrated low or critical level of professional competence components; 2) the initial level of professional competence in the two groups practically did not differ (the difference between the percentage of students at each level of education in terms of individual competence components did not exceed 3%), which testified to their homogeneity.
According to the results of estimation of the level of the motivational component of professional competence of future software engineers, 34.78% of students (24 persons) of CG and 34.85% of students (23 persons) of EG revealed low or critical level. At the same time, 46.38% of students (32 persons) of CG and 45.45% of students (30 persons) of EG showed sufficient level. So, after completing their first year, they understood the need for knowledge of object-oriented programming technologies and languages and were partially motivated to further study OOP.
According to the results of assessment of the level of cognitive component of professional competence of future software engineers, 68.12% of students (47 persons) of CG and 68.18% of students (45 persons) of EG have found low or critical level. This situation is to a certain extent due to the fact that the first year focuses on the study of algorithmization, structural and procedural programming, and the mechanisms of OOP are mostly considered indirectly to the extent necessary for writing programs in development environments.
According to the results of estimation of the level of the operational component of professional competence of future software engineers, 75.36% of students (52 persons) of CG and 71.21% of students (47 persons) of EG revealed low or critical level. The reason for this is that at the end of the first year students have initial experience writing programs with classes and objects, but they do not yet use the full-scale OOP mechanisms.
As a result of assessing the level of reflexive component of the professional competence of future software engineers, 47.83% of students (33 persons) of CG and 48.48% of students (32 persons) of EG revealed low or critical levels. At the same time, 37.68% of students (26 persons) of CG and 34.85% of students (23 persons) of EG showed sufficient level, which testified to partial formation of ability to evaluate themselves as a student, member of academic group and software development team, as well as the results of its activities.
Valuation of the obtained data. The hypothesis about the absence of statistically significant differences in the average values of indicators of the formation of the components of students' professional competence in the control and experimental groups was performed using the Student's t-test, which was calculated by formula (1). Preliminary verification of sampling of the normal law of random distribution according to formulas (2) and (3) was carried out.
The null hypothesis Н 0 : х CG = х EG , there is no statistically significant difference between the samples, the average values of the indicators of the professional competence components of the students of the control and experimental groups are equal.
Alternative hypothesis Н 1 : х CG ≠ х EG , there is a statistically significant difference between the samples. the average values of indicators of the formation of components of professional competence of students in the control and experimental groups differ significantly.
The results of testing these statistical hypotheses are given in Table 1. Thus, it is proved that there is no statistically significant difference in the levels of formation of the components of professional competence in students of the control and experimental groups at the qualifying stage of the pedagogical experiment, that is, the samples are homogeneous.
Based on the analysis of empirical data of the qualifying stage of the pedagogical experiment, it was concluded that the level of individual components, and therefore the professional competence of future software engineers was generally low and critical. In order to increase this level, the educational process and the study of object-oriented programming had to be organized in such a way as to ensure the acquisition and completeness of students' acquisition of basic and special knowledge of OOP (cognitive component), the effective formation in them of OOP skills and ability to use them in the process of development of various types of software projects (operational component), persistent high motivation to study OOP, its further use in professional activity, and self-improvement in this field in terms of programmatic development (motivational component), formation of ability to evaluate and responsible attitude to the results of their work and role in the team (reflexive component).

Forming stage of the research
The empirical data obtained during the formative stage of the pedagogical experiment gave reason to make the following generalizations: 1) the overall level of future software engineers' competence has increased: in both groups the increase in the number of students at the professional and high levels, as well as the increase in the average values of the indicators of the components of professional competence, but the changes in the experimental group were more significant; 2) the final levels of the components of students' professional competence in the experimental group exceeded the corresponding indicators in the control group.
On the basis of these data, a preliminary conclusion was made about the effectiveness of implementing the organizational and methodological conditions for forming the professional competence of future software engineers in the process of studying object-oriented programming in higher education institutions.
The results of the assessment of the level of the motivational component of professional competence of future software engineers revealed that in the experimental group the percentage of students with professional and high level was equal to 21.21% (14 people) and 42.42% (28 people) respectively. In the control group there were minor changes and this indicator was 10.14% (7 persons) and 18.84% (13 persons), respectively. A significant difference was observed in the indicators characterizing the number of students with low and critical levels: 6.06% (4 persons) and 3.03% (2 persons) in EG; 15.94% (11 persons) and 5.80% (4 persons) in CG respectively. The obtained data are presented in Fig. 1.
According to the results of assessment of the level of cognitive component of professional competence of future software engineers, it was found that in the experimental group the percentage of students with professional and high level became equal to 21.21% (14 persons) and 36.36% (24 persons), respectively. In the control group there were slight changes and this indicator was 4.35% (3 persons) and 11.59% (8 persons) respectively. A significant difference was observed in the indicators characterizing the number of students with low and critical levels: 9.09% (6 persons) and 3.03% (2 persons) in EG; 28.99% (20 people) and 8.70% (6 people) in CG, respectively. The obtained data are presented in Fig. 2.  According to the results of evaluation of the level of the operational component of professional competence of future engineers-programmers, it was found that in the experimental group the percentage of students with professional and high level was equal to 19.70% (13 persons) and 40.91% (27 persons), respectively. In the control group, there were slight changes and this figure was 5.80% (4 persons) and 15.94% (11 persons), respectively. A significant difference was observed in the indicators characterizing the number of students with low and critical levels: 9.09% (6 persons) and 3.03% (2 persons) in EG; 31.88% (22 persons) and 13.04% (9 persons) in CG, respectively. The obtained data are presented in Fig. 3.
According to the results of the evaluation of the level of the reflexive component of professional competence of future software engineers, it was found that in the experimental group the percentage of students with professional and high level was equal to 22.73% (15 people) and 30.30% (20 people), respectively. In the control group there were slight changes and this indicator was 10.14% (7 people) and 15.94% (11 people), respectively. A significant difference was observed in the indicators characterizing the number of students with low and critical levels: 6.06% (4 persons) and 3.03% (2 persons) in EG; 23.19% (16 people) and 8.70% (6 people) in CG, respectively. The obtained data are presented in Fig. 4.  Valuation of the obtained data. Testing of the hypothesis about the presence of statistically significant differences in the average values of the formation of components of students' professional competence in control and experimental groups, and therefore different levels of formation of professional competence was generally performed using the Student's t-criterion, which was calculated by formula (1). Preliminary verification of sampling of the normal law of random distribution according to formulas (2) and (3)  Alternative hypothesis Н 1 : х CG ≠ х EG , there is a statistically significant difference between the samples. the average values of indicators of the formation of components of professional competence of students in the control and experimental groups differ significantly.
The results of testing these statistical hypotheses are given in Table 2. Thus, the existence of statistically significant differences in the levels of formation of components of professional competence in students of control and experimental groups at the formative stage of pedagogical experiment was proved. This leads to the conclusion that the average difference is not accidental, but is the result of the implementation of the proposed organizational and methodological conditions for the formation of professional competence of future software engineers in the process of studying object-oriented programming.

Conclusion
Transformation of society to meet the goals of sustainable development is impossible without the active participation of each individual citizen. Training for such activities should be undertaken in education institutions of all levels based on Education for Sustainable Development principles.
The realization of the goals of education for sustainable development in the process of professional training of future software engineers in higher education institutions implies deep informatization of the educational process, enhancement of opportunities for professional mobility and lifelong learning, improvement of educational programs, introduction of issues of sustainability and content.
The contradictions that adversely affect the formation of the professional competence of future software engineers in the process of object-oriented programming study have been identified. In order to overcome the problems, organizational and methodological conditions for the formation of the professional competence of future software engineers in the process of objectoriented programming study at higher education institutions have been implemented.
In order to verify the effectiveness of the organizational and methodological conditions during 2015-2018, the research and experimental work was carried out. 135 second-, third-and fourth-year students of full-time education studying 6.040302 "Informatics" field and 122 "Computer sciences and information technologies" speciality have taken part in the qualifying and forming stages of the pedagogical experiment. There has been recorded an increase in the level of formation of the professional competence among students of the experimental group at the end of the formative stage of the pedagogical experiment, namely: the number of students with professional and high levels of the formation of the motivational component has increased by 43.94%, the cognitive component -by 50.00%, the operational and activity component -by 51.51%, the reflexive component -by 36.36%; the increase in average values of the indicators of the formation of the motivational component has been 34.95%, the cognitive component -23.42%, the operational and activity component -by 23.40%, the reflexive component -27.03%. The reliability of the obtained results has been verified using Student's t-criterion: at the end of the forming stage of the experiment its empirical value (t emp ) for all the components of the professional competence exceeded the critical value (t cr  1.98). Thus, it was proved that the implementation of the developed organizational and methodological conditions contributed to improving the effectiveness of the formation of the professional competence of future software engineers in the process of the object-oriented programming studying.
In the process of experimental work, attention was paid to acquaint students with the goals and objectives of sustainable development. We believe that it is advisable to direct further research on the implementation of strategies for the introduction of training programs for engineering engineers of disciplines and individual modules aimed at familiarizing students with the problems of a sustainable future, forming in them an understanding of their role in solving these problems.