Methodology of teaching cloud technologies to future computer science teachers

. The article deals with the problem of training future computer science teachers for the use of cloud technologies. The authors analyzed courses from leading universities to study cloud technologies. On this basis the model of application and studying of cloud technologies in the process of training of future teachers of informatics was developed. The basic principles of this model are proposed: systematic, gradual, continuous. It contains target, content, operating and effective component. Therefore, the stages of using cloud computing technology were proposed: as a means of organizing learning activities, as an object of study, as a means of development. The article summarizes the experience of designing a cloud-based learning environment (CBLE). The model is based on such philosophical and pedagogical approaches as systemic, competent, activity, personality-oriented, synergistic. Hybrid cloud is the most appropriate model for this environment. It combines public and private cloud platforms. CBLE also requires the integration of cloud and traditional learning tools. The authors described the most appropriate teaching methods for cloud technologies such as classroom learning, interactive and e-learning, practical methods. The article contains many examples of how to apply the proposed methodology in a real learning process.


1
The problem statement Today, the trend of ICT development is the digitization of all sectors of public life.As a consequence, there is an intensive integration of information and communication technologies (ICT) into the learning process.Nowadays, teachers are often used cloud computing in training process [16; 34].This remote computing model provides greater accessibility and openness to education [2].Cloud computing enables students to work with educational materials regardless of their hardware, software and geographical location.Therefore, the study and use of these technologies is mandatory in the curricula of colleges and universities.This problem becomes especially relevant in the case of preparing bachelors of computer science and teachers of informatics.
The purpose of the article is to design content and study methods for cloud computing in the process of training future computer science teachers.
The following tasks are required to achieve the goal of the research: 1. To analyze the state of education in cloud technologies at leading foreign and Ukrainian universities.2. To define the concept and principles of teaching cloud technologies to future computer science teachers.3. To offer content and training methods for cloud technologies.
The object of the study is the computer science teachers training process.
The subject of the study is a model of study cloud technology by future computer science teachers.
We used a set of research methods: theoretical -analysis of scientific, technical literature, experience; generalization of experience of using cloud computing in education, empirical: observation, analysis, modeling method.

Analysis of cloud computing learning experience
Cloud technology training is on the list of courses from leading US and European universities.Some of them are focused on the study of individual cloud platforms, while others involve the study of the theoretical foundations of cloud technologies.One major subject is administration training, while other students are learning to develop cloud applications.
For example, at Harvard University, students are offered a course in Fundamentals of Cloud Computing with Microsoft Azure.The content of this course covers the fundamental architecture and design patterns necessary to build highly available and scalable solutions using key Microsoft Azure platform as a service (PaaS) and serverless offerings.The students learn fundamentals necessary to make a system ready for users, including always-up architecture and deployment strategies, rollback strategies, testing in production, monitoring, alerting, performance tuning, snapshot debugging in production, and system health analysis using application insights and analysis services [9].
Berkeley University offers a Cloud Computing: Systems course.In this course, teachers describe the technology trends that are enabling cloud computing, the architecture and the design of existing deployments, the services and the applications they offer, and the challenges that needs to be addressed to help cloud computing to reach its full potential.The format of this course will be a mix of lectures, seminar-style discussions, and student presentations.Students will be responsible for paper readings, and completing a hands-on project [6].
Cambridge University invites students to study cloud computing.This course aims to teach students the fundamentals of cloud computing covering topics such as virtualization, data centres, cloud resource management, cloud storage and popular cloud applications including batch and data stream processing.Emphasis is given on the different backend technologies to build and run efficient clouds and the way clouds are used by applications to realize computing on demand.The course includes practical tutorials on different cloud infrastructure technologies.Students assessed via a Cloudbased coursework project [5].
At the University of Helsinki, students take the Cloud Computing Fundamentals: AWS course.Students learn how to use Amazon Web Services as a cloud computing platform.This course covers topics required for AWS Developer Associate certification.The course involves the creation and use of a trial account on AWS [4].
Yale University offers a Cloud Networking and Computing course.In this course, students will visit the critical technology trends and new challenges in cloud and data center designs for different trade-offs of performance, scalability, manageability, and cost in the networking layers and big data analytical frameworks.This course includes lectures and system programming projects [7].
Another approach is to study cloud technology in research labs and training centers.At MIT there is a laboratory called "Parallel & Distributed Operating Systems Group".Teachers and students have conduct research in cloud systems, multi-core scalability, security, networking, mobile computing, language and compiler design, and systems architecture, taking a pragmatic approach: they build high-performance, reliable, and working systems [29].
The California State Polytechnic University is implementing a project to create a data center training facility through a partnership between the university and leading cloud platform developers (Microsoft, Avanade, Chef, Juniper).The Center is engaged in the deployment of a corporate cloud, through which practitioners will teach students the design, configuration, implementation and maintenance of cloud services and platforms [11].
Another promising way to acquire ICT competencies is to study with massive open online courses (MOOCs).Students have the opportunity to acquire knowledge independently when they study in them.Universities can also integrate these courses into their own subject disciplines.Leading online platforms offer many cloud technology training courses.
For example, there is an Introduction to Cloud Infrastructure Technologies course on the EdX platform.It contains many chapters.These include basic: Virtualization, Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Containers and the latest such as Tools for Cloud Infrastructure, Internet of Things, How to Be Successful in the Cloud [20].
Coursera offers several courses to study: Essential Cloud Infrastructure: Foundation, Essential Cloud Infrastructure: Core Services, Elastic Cloud Infrastructure: Scaling and Automation, Google Cloud Platform Fundamentals: Core Infrastructure.These courses explore the Google Cloud Platform and AWS platforms [8].
Udacity has developed a Become a Cloud Dev Ops Engineer nanodegree program.It provides learn to design and deploy infrastructure as code, build and monitor pipelines for different deployment strategies, and deploy scalable microservices using Kubernetes.At the end of the program, students will combine new skills by completing a capstone project [3].
The Computing Curricula 2017 document that is used in the development of IT education standards in the IT domain ITS-CCO (Cloud Computing) involves the study of such chapters [13]: ─ ITS-CCO-01 Perspectives and impact; ─ ITS-CCO-02 Concepts and fundamentals; ─ ITS-CCO-03 Security and data considerations; ─ ITS-CCO-04 Using cloud computing applications; ─ ITS-CCO-05 Architecture.─ ITS-CCO-06 Development in the cloud.─ ITS-CCO-07 Cloud infrastructure and data.
Researchers and teachers from Ukrainian universities are also developing cloud computing courses.For example, the standards of the specialty "123 Computer Engineering" defined the ability of a specialist to analyze and design high-performance computer systems with different structural organization using the principles of parallel and distributed information processing [28].The course "Cloud Technologies and Services" was developed in National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute".This course covers the following topics: Cloud technologies and services, Cloud security, Service Models, Google App Engine for Java platform, RESTful API build in Java.The Cloud Technologies course is taught at the Kyiv Taras Shevchenko National University's Faculty of Information Technologies.The course covers basic information about the emergence, development and use of cloud computing technologies.Typologies of cloud deployment (private, public, hybrid, public, etc.), cloud computing service models (SaaS, PaaS, IaaS, etc.) are considered.The discipline provides an overview of the modern solutions of the leaders of the cloud computing market -Amazon, Microsoft and Google.The advantages and disadvantages of cloud computing models and their solutions are considered.To develop practical skills in the discipline, it is proposed to deploy transactional web applications in cloud environments, transfer ready-made solutions to them, learn how to administer them, and work with virtualization technologies [15].
We interpret the concept of "the use of cloud technology" as an introduction to the practical work of a computer science teacher.Appropriate training of bachelors of computer science should be carried out continuously and in stages throughout the study period.Its effectiveness depends on the level of use of the tools in the learning process.Therefore, it is necessary to develop a model of organization of students' learning based on cloud technologies.As a result of the introduction of the proposed model, students develop ICT competencies for using distributed cloud resources for training and research.
The cloud-based student learning organization model changes the traditional reproductive approach to practically oriented learning.For its design we have analyzed similar models [32; 39; 38].
They all transform the educational process from a system that operates on externally set standards to a self-evolving system.The main components of our model are shown in the figure 1.The target component of model provides the creation of conditions for the organization and support of joint educational and research work of students.It provides for the formation of cloud-based learning environment of a university.Based on the previous analysis, we can claim that there is a social demand for a teacher who has competencies in the use of cloud technologies.Such a teacher should be able to organize the CLBE of school, to form the appropriate competence in students.In each of these three stages, we envision students using cloud computing at a different level of awareness.The purpose of this component is the goal setting of stage, on which the effectiveness of the whole process depends.The target component also determines the creation of conditions for the formation of personal capacity for future professional activity in the conditions of modern technological changes.
The purpose of training is implemented through methodological approaches such as: ─ the competency approach allows to identify the content of ICT competencies in the use of cloud technologies, to improve the practical orientation of the learning process; ─ the system approach allows to consider all components of the proposed model as a coherent system.A systems approach requires designing the model as a set of interrelated elements.Integrative dependencies and interactions of these elements are also needed; ─ the action approach focuses on the prioritization of active learning methods; ─ the synergistic approach considers the basic processes of student self-organization and interaction.Learning according to this approach is an unstable process.This instability complicates adaptation, cognitive operations, and overall activity.
The guiding principles of the methodology according to our model are the traditional principles of science, accessibility, continuity, systematicity and consistency, activity, clarity.Other principles of learning such as mobility, adaptability, flexibility, ubiquity are also important.
The content component of the model is aimed at developing both the key (digital, personal, social, educational) and subject competences of future computer science teachers.
At the center of the proposed model is a student.Accordingly, the competence structure defines the components by the stages of implementation.They correspond to the preparatory, activity, generalization stages of the use of cloud technologies.The study in the preparatory and activity stage should be done in the bachelor's degree.The generalization stage can be implemented as a master's program.
At the preparatory stage, cloud technology is a means of organizing educational and cognitive activity.The relevant components of subject competence are such as ─ ability to be guided by features of modern cloud technologies, to understand their functionality and to be used for basic educational tasks; ─ ability to distinguish between features and characteristics of "traditional" Internet services, hosting web resources, running virtual private machines in cloud infrastructures; ─ ability to determine the ways of using cloud technologies for the organization of training and research activities according to service models; ─ ability to behave adequately and responsibly in a cloud environment, to demonstrate knowledge and understanding of the legal, ethical aspects of using cloud services and digital content; ─ ability to actively and constantly explore new services, implement them in their activities, awareness of the role of cloud computing in the current stage of IT and education.
In the activity stage, cloud computing is the object of study.The relevant components of subject competence are such as ─ knowledge of basic concepts, deployment models and service models of cloud technologies, principles of operation and technology of server system virtualization, architecture and standards of distributed computing, and features of hardware and software solutions of modern data centers; ─ ability to install, configure and maintain system, tool and application software of cloud platforms according to the basic service models; ─ ability to evaluate and determine effective CBLE deployment decisions based on an analysis of the functional characteristics of cloud services and the needs of educational institutions; ─ ability to design, deploy and integrate ready-made cloud platforms to improve the IT structure of the educational institution; ─ ability to monitor, support and analyze the functioning of the CBLE.
At the generalization stage, cloud computing is a development tool for creating educational resources and learning tools.The relevant components of subject competence are as follows ─ ability to formulate requirements for quality assurance of software development for its functioning in the cloud applications; ─ ability to evaluate and identify effective deployment solutions for CBLE based on a comparison of the technical and economic properties of cloud computing services, as well as for solutions based on private and hybrid cloud systems; ─ ability to formulate ways to increase the efficiency of the use of cloud technologies in solving organizational educational and scientific tasks; ─ ability to develop software for educational institutions in a cloud computing environment, test and debug relevant hardware and software; ─ ability to project activities, work in a team to jointly solve educational and scientific tasks.
The The resultant component of the model involves providing ubiquitous access to learning resources through standardized protocols, enhancing students' ICT competency, improving the quality of educational process organization and pedagogical research.We consider it necessary to use public and private clouds as a teaching tool not only in the first stage, but also throughout the whole time of studying the bachelor of computer science.Such public clouds are G Suite and Microsoft Office 365.Their developers offer free subscriptions to educational institutions.Students and staff can get corporate accounts of these cloud platforms.The use of these platforms can be practiced in almost all courses of professional training of the future computer science teacher.
For example, a teacher can schedule study assignments, student work, online consultations using Calendar services.For training demonstrations, webinars can be effective cloud services such as Google Meet and Skype for Business and more.
Topical issues of using cloud technologies in training are their integration with each other and with other learning tools.Such integration should provide single authentication (Single Sign-On -SSO), content availability in various cloud services, access from mobile devices, and ability to monitor student activity.
Great technical and training capabilities are in the deployment of private academic cloud according to the IaaS model.We have deployed a similar cloud-based on the Apache CloudStack platform.It combines the system resources of 4 servers.This allows you to run 20-50 virtual machines at a time.With Apache CloudStack's enhanced networking capabilities, we have integrated these computers into a large number of virtual local area networks (VLANs).To provide universal access to the virtual labs, 2 virtual private network (VPN) servers were set up.They work with different protocols.Therefore, students are able to work with these labs from any device that has Internet access.All these services have formed a cloud infrastructure that is integrated into the university's LAN.Such an academic cloud makes it possible to create "cloud laboratories".In our opinion, a cloud lab is a system where virtual ICT objects are generated through cloud computing and networking.Cloud labs are best used to teach basic computer science courses, such as computer architecture, operating systems, programming, computer networks, and more.
One of these laboratories (CL-OS) was deployed for training.Its purpose was the development of ICT competences, the education of the need for systematic updating of knowledge, the formation of project activity skills.To complete with the tasks, the students were supposed to have basic knowledge of the following disciplines: Operating Systems, Computer Architecture and Software.The main teaching methods in this training were group and project techniques.Students' educational projects were about practically important tasks, such as: recovery of destroyed data, increase of operating systems performance, error correction during loading, virus removal.
Students use G Suite and Microsoft Office 365 public clouds to discuss learning problems, create and edit shared documents (diagram, abstract, brochure, booklet, infographics).They acquire teamwork skills such as communication, teamwork and group leadership; formulation of tasks for yourself and colleagues, perform tasks in a timely manner [36].
Each of the group members was provided with a separate virtual machine.It had defects of one of the above types.Students were able to work on solving problems not only from any university computer, but also from their home PC.To train one group of students, an academic cloud provided 20-30 virtual machines (VMs).
Another cloud lab (CL-EVE-NET) was organized to study computer networks.We have integrated the Apache CloudStack and EVE-NG Community Edition platforms to deploy it.Nested Virtualization technology was used for this purpose.The EVE-NG platform makes it possible to emulate the operation of different nodes that are integrated in an internetwork.These nodes can be virtual machines running different operating systems.The integration of EVE-NG and Apache CloudStack platforms enables the use of full-featured network OS.
The integration of EVE-NG and Apache CloudStack platforms enables the use of full-featured network OS.They can be accessed via the EVE-NG platform web interface and through Telnet and VNC protocols.This lab uses both Apache CloudStack virtual networks and ENE-NG platforms.If the student configures the network connections correctly, access will also be available through the appropriate protocols.
We used the CL-EVE lab to study basic computer network topics, such as: switching and bridging, network monitoring tools, basic and NAT routing; dynamic routing protocols; load-balancing Internet channel, policy base routing, data filter with firewall, network protocols and services (DHCP, ARP, DNS); virtual private network protocols [35].
This cloud lab allows you to bring together individual student networks.As a result, we get an internetwork of group.This approach ensures student collaboration and teamwork.An error with one of them can causes problems throughout the network.For the training of one group of students, an academic cloud provided the functioning of 20 "parent" VMs.They ran up to 10 nested virtual network devices (bridges, switches, routers, hosts).
The CL-ADM cloud lab has been deployed for the network administration course.In this course, we use both Windows and Linux.So, to study each topic, we create at least 2 virtual machines as servers and at least 2 VMs as clients.
The main topics of the course are: ─ network administration of Windows and Linux servers (local users and groups, filesystems security, network shares, remote administration); ─ domain administration (Active Directory, Samba, NIS); ─ server application administration (Apache, ProFTPd, IIS, Postfix, Dovecot SQUID).
To train one group of students, an academic cloud provided 30-40 virtual machines.
Training at the activity and generalization stages is carried out according to the special program "Cloud Technologies Fundamentals".The course involves the study of: publicly available cloud platforms by recognized software development vendors (Google Inc., Microsoft), and open source software as the foundation for enterprise cloud.
The main topics of the special course are: ─ public cloud platforms (G Suite and Microsoft Office 365); ─ cloud platforms for private clouds (Apache CloudStack, Proxmox).
We used to study the G Suite and Microsoft Office 365 public platforms in the form of a Cloud Services to Every School project [26].The objectives of the project were to design and deploy cloud services for secondary schools.The basics of the project concept were: absence of material costs for deployment and support of cloud services, voluntary nature of participation in the project.In collaboration with computer science teachers, students determined which services needed to be configured or migrated to the cloud.The problems of maintenance and support required a lot of time.Teachers had questions about administering, configuring, monitoring cloud services.We solved such problems by organizing face-to-face and distance seminars, workshops, also through the involvement of students in the support of deployed systems.
The results of the "Cloud Services to Every School" project is in line with the indicators of a cloud-based learning environment.They are: quality and accessibility of learning, adaptability, interactivity and mobility of ICT tools, unification of the school's IT infrastructure, ensuring its security.
We propose to study private clouds on the example of open platforms.We suggest exploring private clouds as an example of open platforms.Their advantages are open source, freeware, English documentation, the ability to deploy advanced cloud infrastructures.However, such platforms are usually not supported by the developer.Therefore, teaching students with such platforms often requires them to look for solutions to various problems.This approach requires modern hardware.Private clouds require servers that perform different functions.For deployment by students of such clouds it is necessary to use the group method.It is a division of tasks.Students can perform tasks together or individually such as: ─ configuring the database server; ─ cloud platform setup; ─ installing hypervisors; ─ creating virtual computers; ─ distribution of system resources.
In the future, students change roles.Since at our university the special course "Fundamentals of Cloud Technologies" is studied in the master's program, we consider it appropriate to use a research approach.It is that the teacher formulates detailed technical requirements for the cloud.Students research and customize platforms to meet these requirements.The results of such research can be summarized by the method of comparative analysis.For example, one platform may have better performance for the production platform and another platform will perform more effectively as part of the CBLE.
Important in the ICT competency of the future computer science teacher is the possession of software development tools.Cloud services should be at the forefront of creating students' own educational information resources.The third stage of our model is dedicated to this task.Training can be based on this platform leader in software and cloud.
Microsoft has developed a Windows Azure Web Sites product that enables students to create new and host existing web applications in a secure cloud storage.Windows Azure Web Sites implements a Platform as a Service (PaaS) model.Therefore, students will be able to fully focus on the programming and direct development of their cloud projects.
Google also offers a similar Google Cloud Platform (GLP) cloud service.It allows you to create, test and deploy your own applications in the cloud.Students can learn how to create state-of-the-art web applications and mobile applications on the open Google App Engine cloud platform.It is a managed platform that completely abstracts the cloud infrastructure, which helps to focus training on development tasks.
Deployment of cloud laboratories is also appropriate for a full study of these systems.Unfortunately, Google has not yet provided academic grants to use GLP for Ukrainian universities.However, students are free to use their own accounts for one year.A similar situation with Microsoft products.It is necessary to get a Microsoft Azure Education Grant for effective learning.
We propose to use a comprehensive approach and project methodology in the process of studying these tools.The main requirements of applying the project methodology at this stage are as follows: ─ identifying the main problem that the created project should solve; ─ requirement for student creativity in project development; ─ no restrictions on the tools and their functionality; ─ the value of the expected result, that is, a cloud-based application must be developed and deployed; ─ organization of joint activities of students; ─ identification of pre-formed competencies for project creation; ─ the project's focus on modern cloud and web technologies.
The third (generalization) stage of our methodology consists of several logical parts.They combine a relatively small amount of theoretical material.It's a good idea for a teacher to start learning about the Google Cloud Platform (GCP).The practical part involves setting up the environment and creating a project, configuring a cloud database.The next task is to log in and log in.After that, students should focus on project architecture and development of core functionality.
We invite students to develop a contact manager.Its main functionality is to enable an authorized user to create, view, edit and delete records.It also has the option of sending e-mails to selected contacts.This basic functionality is present in almost every modern web application.Students can use GCP cloud products such as Google App Engine standard environment, Google Cloud SQL, Google Cloud Datastore, Google Cloud Storage and Google Cloud Pub to develop it.
Application development in the Google Cloud Platform facilitates group form organization.The teacher can add new project participants and assign them specific roles to determine the degree of access.In this project, the teacher demonstrates GLP capabilities based on such programming tools as PHP and Node.js.Important issues for cloud-based application development are understanding: ─ basic functionality of PHP and Node.js; ─ basics of a modular, file and batch system; ─ file management; ─ use of the postal service; ─ work with the MySQL database.The next step is to introduce students to the Google Cloud Platform environment, the basics of App Engine, and the application deployment process.It is a good idea for the teacher to organize the development of the project in a private university cloud and then deploy it into a public cloud.It is also possible to develop the project only in a cloud environment.Both approaches include steps to develop a web application that will allow users to submit requests to the server.
After completing these tasks, students develop their own ICT competencies such as: ─ creating a GCP project based on App Engine; ─ writing a web server on Node.js; ─ deploy code on App Engine and view the web application in real time; ─ adding updates to an already deployed service.
After creating this application, students move on to expand its functionality through other GLP services.Further practical work focuses on developing students' own cloud applications.These can be an online study log, e-library, video hosting service, photo gallery etc.Their students perform in small groups of 2-3 people.They can offer their own themes for development.Upon completion, students present projects and share their experiences and achievements.

Conclusion
The The study in the first and second stage should be done in the bachelor's degree.Stage 3 can be implemented as a master's program.
The current level of cloud computing development makes the project method demanded and effective.Participation in the proposed projects contributes to the development of students' skills of independent and responsible work with cloud technologies.They have opportunity to focus on results.Students can recognize themselves as successful network administrator, programmer and teacher.
Our model provides combination of face-to-face and online learning allows teachers to make use of advantages offered by the cloud base learning environment.
The perspectives of further research are in experimentally test the effectiveness of the designed model.

Fig. 1 .
Fig. 1.The model for learning cloud computing problem of the use of cloud computing in the process of training future computer science teachers is actual and needs further research.Training for the use of cloud technologies should be carried out throughout the student's study period.The model of application and studying of cloud technologies in the process of training of future teachers of informatics contains target, content, technological and resultant component.The content component realizes during 3 stages such as 1.Cloud technology is a means of education.2. Cloud computing is the object of study.3. Cloud computing is a development tool.
technological component of the model defines the system of teaching methods.We consider appropriate methods of teaching cloud technologies such as: