Construction and Practice of Cloud-based Experiment and Innovation Project Supporting Platform for Computer Science Education

2019-01-04 09:31PengXuHuiCaiJianKuangXiaoyanZhang
计算机教育 2018年12期

Peng Xu, Hui Cai, Jian Kuang,Xiaoyan Zhang

Abstract: Higher and more requirements on experiments and innovation projects of computer science courses is brought forward to promote the "Double First Class". For these requirements, the cloud-based experiment and innovation project supporting platform is introduced in this paper. On the one hand, the platform could satisfy the diversified resource requirements of both teachers and students in course experiments and innovation projects. On the other hand, the feature of "construct once and access anywhere" could achieve higher resource utilization rate and lower costs than the traditional “lab-based” experiment mode. The supporting platform has been applied to practice and gains a lot of positive feedbacks.

Key words: experiment; innovation project; cloud computing; course; computing science

1 Introduction

With the progress of the construction of "Double First Class" and the popularization of computers and Internet, it has been an important focus of universities and colleges to enhance the quality of teaching computer science education and to improve students'ability of innovation and practice[1-2]. In recent years,the rapid development of cloud computing technologies and applications provides the technical basis for the upgrade of computer science course experiments and the innovation projects. Cloud computing technologies could balance the efficiency of platform resource and the demands for diversified resources[3].

In this paper, firstly, the problems faced by computer science course experiments and innovation projects are analyzed. Secondly, the Cloud-based Experiment and Innovation Project Supporting Platform for Computer Science Education is brought forward. Thirdly, the practice of the platform is illustrated. In the end, the whole paper was summarized.

2 Problems Faced by Computer Science Course Experiments and Innovation Projects

Problems faced by computer science course experiments and innovation projects are mainly on the following aspects.

2.1 "One Configuration for Many Years"could not meet the r equirements of the fast evolving computer science courses

"Teaching in classrooms + Experiments in labs" is an effective means to improve the quality of the education.For a long time, "experiment lab" is the main way for teachers and students to get experiment resources[4].However, according to the emerge of new technologies and applications, computer science courses have to constantly introduce more new teaching and experiment resources to enrich the contents of courses,thus the evolution speed of courses have greatly increased compared to the past. This leads to the higher requirements on the adaptability of experiment resources. Nowadays, a typical "experiment lab" is composed of one central console for administrators and many terminals for teachers and students. Here, the central console is used to manage all the terminals in the lab, and the operations of the console is generally very complex and needs the trained administers and a lot of time, which makes teachers could hardly operate it to change the configuration of the experiments. The high cost of updating experiments causes the dilemma of "One Configuration for Many Years ", which greatly limits the innovation of computer science education.

2.2 Traditional "lab-based" experiment mode results in low utilization rate of experiment resource

The resource utilization rate of the traditional “labbased” experiment mode is very low. On the one hand,due to the experiment content in the experiment labs being difficult to be updated, the experiment lab could only be used by a few of courses and students, the experiment labs are difficult to be shared by courses and students. On the other hand, the limited opening hours of experiment labs make the experiment resource could not be utilized during vacation hours, which further lowers the utilization rate of the experiment resource. In addition, experiment labs are usually constructed locally and used locally, which means that teachers and students on different locations could hardly use the labs. Currently in China, it is rather common that one university has multiple campuses.Under such conditions, labs constructed in one campus could not be easily shared by the teachers and students in another campus or teachers and students have to travel from one campus to another, which not only takes a lot of time, but also causes a set of safety issues.

2.3 Intangible supports for the students in the innovation projects could no longer satisfy the requirements of deepening the practice of innovation

Innovation project is one of the important sources of vitality of both academic research and application research in universities. And it is the effective supplement to classroom education. However, at present, what the students in the innovation projects could get from the universities is just some intangible resources, such as project tutors would provide some guidance on the project management and key technologies[5]. Although the professional guidance from tutors could help the students a lot, as the progress of innovation practice in universities and the continuous improvement of the quality of the innovation projects, these intangible resource could not satisfy the requirements of the students in innovation projects. In order to achieve high-quality innovation projects, students in the innovation projects have to keep polishing the key innovative features of the projects, as well as a set of supporting features. For example, even if the key innovation of the project is an algorithm, the students still have to develop a pretty demo or an application if they want to make the project outstanding. However, to achieve these supporting features still take students a lot of efforts. If these efforts could be saved, the students would have more time and energy on the core innovation.

3 Cloud Computing in the Supporting Platform

Now the rapid development of cloud computing technologies and applications provides the technical foundation for solving the above problems, which is mainly shown on the following aspects.

· Cloud computing platform provides a variety of resources, which could be different types of operation systems or middleware required by various courses, and could be application execution environments or capability components for innovation projects[6]. Moreover, the resource provided by the cloud computing platform can be easily configured and extended.

· Cloud computing platform provides the feature of “construct once and access anywhere”, so that teachers and students could no longer be restricted to their geographical location. As long as they could access the network, they could access and use the experiment resources provided by the cloud computing platform[4].

· Cloud computing platform supports automatic management and control, therefore, the introduction of the platform could effectively reduce the demands for“personnel on duty”. This feature not only reduces the maintenance cost of the platform, but also enables teachers and students to use the platform at any time.

· Cloud computing platform supports dynamic resource scheduling and control. This enables the resource creation and configuration to be done conveniently on the cloud platform, and makes it possible to create a large number of virtual machines for experiments. Moreover, the efficient resource scheduling mechanism of cloud computing platform could greatly improve the utilization rate of the underlying hardware thus to save the investment of the platform. The underlying cloud platform could automatic allocate and withdraw the resource for a certain course following the presetting of the teacher(start time and end time of the course).

4 Construction of Experiment and Innovation Project Supporting Platform

In this project, experiment and innovation project supporting platform is developed based on the cloud computing platform to introduce the above features into the supporting platform. Next the construction of the support platform is illustrated both hardware side and software side.

4.1 Hardware

In this project, the hardware of the supporting platform is shown in Fig. 1.

Fig. 1 Hardware of the supporting platform.

This supporting platform could meet the requirements of "one university, multiple campuses".The central platform is located in the server room of campus 1. Here, a series of PC servers and network devices are deployed. All the software including cloud platform software, supporting platform software, are installed in these PC servers. The central platform is connected to the campus network. The supporting platform could reuse the existing campus network.

The experiment lab in campus 1 is a traditional experiment lab constructed many years ago. For this experiment lab, as long as the terminals in the lab could access the campus network, these terminals could access and use the resource of the supporting platform.Due to the use of cloud computing technologies, these terminals do not have to install any specific application other than Internet Browser. It means that without any modification of the existing experiment labs, the existing experiment lab could be easily upgraded to the cloud enabled experiment lab.

The experiment lab in campus 2 is a new one.Because all the terminals in this lab would access the supporting platform to use the resource, no server and no specific software is needed. The cost of an experiment lab is reduced to the cost of the terminals and the network.

Besides the terminals in the experiment lab, personal terminals of teachers and students could also access and use the supporting platform as long as they could access the campus network.

4.2 Software

In this project, all the software, cloud platform software and supporting platform software, are installed in PC servers in the central platform. Due to cloud computing's "service" feature, no specific software is needed in the terminals in the experiment labs or in the personal terminals of teachers and students. In general, the construction of the software is just the construction of the software in the central platform (as shown in Fig. 2).

Fig. 2 Software of the supporting platform.

As shown in fig. 2, the software of supporting platform consists of 4 layers.

· Platform layer: This layer is mainly cloud platform,and used to provide basic cloud services. Not only the supporting platform application software is deployed in the cloud platform, but also the resource for experiments and innovation projects is provided by the cloud platform.

· Component layer: This layer includes template lab and component lab. “Template” contains the whole software stack from operating system to middleware and application software. Teachers and students could utilize the template to create their own instances for experiments or innovation projects. Although there are some basic templates provided by the platform,the most attractive feature is that teacher could create customized templates for their courses or innovation projects. All the basic templates and customized templates are stored in the template lab. Students could simply use the customized templates provided by teachers to create their own instances for the course or innovation projects. Components in component lab refer to the reusable components which could be invoked by the instances for innovation projects to simplify the development and/or enrich the feature[7].And the component lab could be extended during the application of the supporting platform by adding more components into the lab.

· Application layer: All the instances for experiments and innovation projects are on this layer. The number of instances depends on the number of student in the courses/innovation projects and the type of the instances depends on the requirements of the courses/innovation projects. All these instances would share the underlying cloud platform and are scheduled by the cloud platform.

· Management layer: This layer includes a variety of management functions such as platform management for operation and maintenance of the platform, student/teacher management for user management of the platform, experiment / innovation project instance management for resource management of the platform.All these management functions are organized into three portals: administrator portal, teacher portal and student portal. And web-based UI is provided.

5 Practice on Supporting Course Experiments

In the supporting platform, all the functions to support course experiments are organized around the data model of “course” (shown in fig. 3).

Fig. 3 Data model of “course”.

Teacher portal provides teachers a set of management functions on cloud resource, course,course content, teachers and students. And students could use student portal to view course list, the detail of courses and course contents and operate the cloud resource allocated to them.

5.1 Cloud resource management

Cloud resource management of teacher portal includes viewing the virtual machine (VM) list and template list,creating and managing VMs.

· To view the VM list.

The VM List page (shown in fig. 4) of teacher portal shows basic information of all the VMs of the teacher.And teacher could view the VMs, operate the VMs,apply for new VM.

Fig. 4 VM list page.

· To apply for a VM.

When teachers click on "New" button on the VM list page, “new VM” page is shown. On this page, teachers could configure the template, the (virtual) hardware of the VM(as shown in Fig. 5).

· To manage a VM.

When teachers click on "Manage" link of a certain VM in the VM list page, “VM Management” page is shown. On this page, teachers could operate the VM(as shown in Fig. 6).

In VM management Page, teacher could easily create their own customized template by clicking on the “Publish Template” button and attach this template to a certain course(as shown in Fig. 7).

Fig. 5 New VM page.

Fig. 6 VM management page.

Fig. 7 Publish template page.

5.2 Course management

Course management includes viewing the course list,creating and editing courses.

· To view the course list.

The Course List page (shown in Fig. 8) of teacher portal shows basic information (name, introduction, start time, end time) of all the courses of the teacher. And teacher could view the course, edit/delete the course, add new course content to the course and create a new course.

Fig. 8 Course list page.

There is still the course list page in student portal.The difference of the page in student portal is that there is only “view” link for each course and the courses listed are the course students enrolled in.

· To create / edit course.

When teachers click on "New" button on the course list page, “create course” page is shown in Fig.9. On this page, teachers simply fill in the course name,introduction, start time and end time to create a course.When teachers click on "Edit Info" link of a certain course in the course list page, “edit course” page is shown. On this page, teachers could edit the basic information of the course. “create course” page and“edit course” page are similar to each other.

Fig. 9 “Create course” page.

5.3 Student management

With student management page (shown in Fig. 10),teachers could view and edit the student list of the course and authorize each student the experiment resource of the course.

Fig. 10 Student management page.

5.4 Teacher management

With teacher management page (shown in Fig. 11),teachers could view and edit the teacher list of the course if there are more than one teachers in the course.

5.5 Course content management

Fig. 11 Teacher management page.

In the supporting platform, one course contains many ordered course contents. The content is arranged in order to form a course. As one of the most important feature of the supporting platform, the course content includes not only the title (simple text), the introduction(rich text), but also the possible file attachments (shown in fig. 3).

· To view the course content list.

When teachers click on "View Detail" link of a certain course in the course list page, “course content list” page is shown. The course content list page (shown in Fig. 12) of teacher portal shows the title of all the course content in this course. And teacher could view the course content, edit/delete the course content and create a new course content.

There is still the course content list page in student portal. The difference of the page in student portal is that there is only “view” link for each course content.

· To create / edit course content.

Fig. 12 Course content list page.

When teachers click on "New" button on the course content list page, “create course content” page is shown as Fig. 13. On this page, teachers simply fill in the course title, content and possibly add file attachments to create a course content. When teachers click on "Edit"link of a certain course content, “edit course content”page is shown. On this page, teachers could edit the course content. “create course content” page and “edit course content” page are similar to each other.

· To view course content.

Both teacher portal and student portal have course content page. Teachers and students could use the page to view the course content (title, content, file attachments), as shown in Fig 14.

· To operate cloud resource of the course.

Student portal provides students cloud resource page to access the cloud resource of the course. With this page, student could apply for the instance (VM)using the configured template and manage the existing instance (VM). After getting the instance from the platform, student could use this instance (VM) to carry on the course experiments and they could simply focus on the experiment because all the environment needed by the experiments has been configured into the template by teachers. As long as the instance is created from the template, the environment should be ready for the experiment(as shown in Fig. 15).

Fig. 13 “Create course content” page.

Fig. 14 Course content page.

Fig. 15 Course cloud resource page.

6 Practice on supporting innovation projects

The supporting platform could provide the innovation project with VMs and/or reusable components.

6.1 To provide VMs

In providing VMs, an innovation project could be taken as a course of the project tutor. Therefore, to provide VMs to an innovation project could be divided into the following steps.

[Project Tutor]

1. To log in the teacher portal;

2. To create a course;

3. To create a customized template following the requirements of the innovation project;

4. To add this template into the course’s template list;

5. To add the students in the innovation project in the course’s student list;

[Students in the Project]

1. To log in the student portal;

2. To enter the course for the project;

3. To apply for the cloud resource and use it.

With the VMs provided by the platform, students in the innovation project do not have to care about the configuration and maintenance of the VMs. Without the supporting platform, these tasks could might be difficult and boring, but they have to do.

6.2 To provide reusable components

As to the reusable components, all these components are deployed in the supporting platform and provide HTTP-based open APIs for the third party applications.Project tutors could apply one or more components for the innovation projects. After the application is accepted, the access code is assigned to this project.And the application of this project could access the applied components using the access code.

In this project, a set of components are provided.

· Unified User Management: to provide unified user information management / authentication / single signon functions;

· Open Search Engine: to provide search functions,allowing the third party application submit the content to be indexed and retrieve the content based on keywords, tags, etc.;

· Online File Storage Services: to provides file storage and file (streaming) access functions;

· Log Collection, Storage and Access: to provide high concurrent log collection and storage functions and provide standard HBase interfaces for the third party application to access the log.

7 Conclusion

In the practice of the experiment and innovation project supporting platform, “construct once and access anywhere” feature breaks the space and time limitation of traditional “lab-based” experiment mode, which greatly increases the utilization rate of experiment resource. And “easy to use” and “ondemand customization" of experiment resource help the innovation of education mode, such as Flipped Classroom, Social Learning and MOOC. The tangible resource such as application execution environments and reusable components for innovation projects save a lot of effort of students in the project, thus to make them be able to spend more time and energy on the core innovation of the project. Generally, the experiment and innovation project supporting platform could surely help the development of "Double First Class" in the universities. At present, the experiment and innovation project platform supporting platform for computer science education had been adopted the school of software of Beijing University of Posts and Telecommunications. Based on the platform, a series of course experiments and innovation project have been provided and used by the students. The positive feedback from both teachers and students verified the effectiveness of the platform.

Acknowledgement

This work is supported by Study and Practice of Practice Education Integrated Service Architecture and Education Mode based on Cloud, which is one of Education Research and Reform Projects of Beijing University of Posts and Telecommunications (2015)and the open project of Science and Technology on Communication Networks Laboratory.