Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

13.1 Introduction

In schools, the daily work of teachers and students is focused on educational learning sessions and collaborative work (face-to-face and offline sessions). Beyond the classroom, new technologies are providing more and more tools for users (Moodle, Atutor, Blackboard, Calorina, etc.) [1]. However, these technological systems do not specifically support education, and learning is not a key element in design and development. Instead, these models are based on the advantages teachers and students can find in managing online and distance education [2]. Educational users, like Internet users, are becoming more comfortable using cloud applications as opposed to traditional ones that are installed on their personal computer or device. The potential of these services in the educational world are many: from managing their own platform using Web 2.0 tools to total school management (i.e. Google Apps for Education) or creating their own personal cloud (i.e. SyncBox). But there are still other new technologies such as Distributed User Interfaces (DUIs) that may give more flexibility and interaction between educational users [3]. DUIs help divide tasks between different user interfaces and perform these tasks in more interactive way. A unique user or set of users can do this in a collaborative manner, which is the basis for creating a collaborative educational system. The proposal is to make DUIs available as a service in the cloud so that a teacher can avail of it when needed to perform a task during an educational session.

CSchool (Cloud Services for Schools) is a distributed system that facilitates interaction between diverse members of educational communities (schools, teachers, students, tutors, etc.). CSchool takes advantage of the cloud’s services and, at the same time, ensures the quality of the entire educational process [4]. In the last 2 years, the applications TabletNET [5] and eLearniXML [1] were presented as the first step of the educational research. These learning platforms support services and resources such as communication, collaboration, cooperation and evaluation (agenda, discussions, email, exercise, libraries, forum, chat, test, etc.). Such services aim to create a comprehensive educational environment for the classroom and/or distance learning between students, peers and teachers. These tools have been developed to manage such administrative processes for the school’s students or a particular class.

This paper presents the merging of the previous applications, TabletNET and eLearniXML, with the cloud so as to take advantage of the current technological and economic benefits offered by cloud computing. With CSchool, schools can identify their core competencies that define the differentiated service provided to those involved [6]. Public providers such as Google Cloud, Amazon Cloud, Azure Cloud, etc. offer some services; others are provided by shared capabilities from other educational systems. Because of this service distribution, unified services provide important leverage. This will both reduce the costs of an educational system as well as facilitate greater user accessibility of the system. If students have use of CSchool free of charge, then the institution alone is responsible for the human resources and financial costs. Students from a state or region now expect such common educational services to be provided via “Cloud Education” (see Fig. 13.1). The model supports interactive applications such as message passing and distributed system interfaces.

Fig. 13.1
figure 1

Possible scenarios of the system from different viewpoints: Classroom and break time in school; parental control and homework time from home. All connected to the cloud to help studies and enhance the educational process

This study comprises six sections: The first gives a brief introduction. Section 13.2 reviews cloud computing and its advantages in education. Section 13.3 covers the cloud services supporting these users in an educational environment. Section 13.4 describes the system’s services, architecture and charging scheme for the services. Section 13.5 contains sample shots of the application from both teacher and student devices and examples of XML messaging between different clouds and a user interface prototype; it also includes ways the devices can access this distributed system in the cloud. The final section finishes with conclusions and the future scope of this research.

13.2 Cloud Computing

Cloud computing is a new phenomenon linked to Web 2.0 [7]. The term refers to the collection of different services stored on servers that users can access only through the Internet. In other words, the user has access to different software, applications and files stored in different, undefined or virtual places (this is why the term cloud is used) that are permanently available to the user regardless of location [8]. As documents are not physically hosted on computers, they can be accessed anywhere with just an Internet connection. Therefore, working in the cloud means that users don’t have to depend on a particular program or even a specific operating system anymore. In addition, the only requirement to start working in the cloud is a device with an Internet connection.

13.2.1 Applying Cloud Computing in Educational Environments

The great advantage of “the cloud” is the sharing of information in a real way. Using a local area network, multiple users can work on the same file, but it can get even more interactive as in the following scenario: a document is shared online by several students; they simultaneously view exercises; they view and edit homework and also organize information shared in a presentation using data from different sources [9]. Cloud-based educational content can, and certainly will, be effective for knowledge transfer, but understanding that information in context, using it to solve problems (i.e. critical thinking) and building on it to create new knowledge are skills that will most often come through interactions students have with educators at an institution. For that our proposed educational cloud is composed of information and academic process data. These are linked together with other Web 2.0 applications to support student interaction and management of their own academic process; a collaborative and communicative environment, which is hosted in the cloud, supports activities like the aforementioned. The presented platform “CSchool” takes advantage of all these resources, creating an appropriate educational environment for students and teachers to improve their learning/teaching process in secondary schools by exploiting cloud services and DUIs.

13.3 CSchool Platform

The CSchool platform covers a set of services needed to promote the proposed collaborative and interactive educational process. Its architecture includes a possible charging scheme for those services that an educational centre wants to offer. The CSchool platform explains the way in which these services are charged and used in the system cloud.

13.3.1 CSchool Services

The cloud is used as a common area for user interaction facilitated by CSchool services using DUIs; this service will be available in the cloud in order to offer concealed support to user devices. Schools being the context of this research, the initial study covered the ways CSchool services are divided, taking into consideration actual school organization in the Spanish educational system [10]. Then, the necessary actors were extracted (as user roles) as well as the scenarios in which the actors act and, finally, the distributed interfaces in which they were screened.

The school schedule used in CSchool is specified following a procedure established by law for management and academic organizations [11]. This is accompanied by qualifications, evaluation, monitoring and communication and is supported by DUIs; with this clarification of the system’s function, the most necessary CSchool services can be defined as follows (see Fig. 13.2):

  • Program services: provide the necessary structure for the teacher to conduct educational activity according to the framework established by national education law [11].

  • Services for teaching units: provide the structure to develop teaching units and establish the organization of such teaching units to be accessed via DUIs.

  • Services for collaborative learning: collaborative learning tools or applications that encompass all these needs distributed within multiple user interfaces.

  • Services for learning languages: distribute the multimedia reinforcement data, audio and video, for students and teachers between several user interfaces.

  • Communication services for parents: provide one-way communication between schools/teachers and parents/tutors; this communication is developed to support DUI.

  • DUIs: supported by Web Services 2.0 in the cloud.

Fig. 13.2
figure 2

CSchool services grouped by clouds according to the educational process they offer that support the teaching/learning process in a collaborative and communicative way by means of DUI presented by “Web 2.0”

These services are grouped in different clouds, which, in turn, are grouped based on the scope of services from the specific educational viewpoint; they can be hosted in public or private clouds, but also include hybrid clouds to support services for external entities. Figure 13.2 shows a SMOF cloud structure [12] following the methodology in which the CSchool services are grouped by IAAS [13], where each cloud offers full service.

13.3.2 CSchool Architecture

Two distinct parts were created for the CSchool conceptual model and system architecture. First, the different pricing types and architecture were defined to cover the different possibilities of cloud services mentioned above; then, the conceptual architecture of the DUI was considered, allowing system users to establish a collaborative and communicative educational process (Fig. 13.3).

Fig. 13.3
figure 3

Auxiliary CSchool services grouped by clouds

13.3.3 CSchool Charging Scheme

The charging scheme [14] defines the different types of proposed pricing as follows: prepaid charging, constant charging, variable charging, etc. Figure 13.4 presents the CSchool charging scheme based on accessibility levels to files and data.

Fig. 13.4
figure 4

CSchool charging scheme based on accessibility levels to educational files and data within the educational platform to present them using the DUI service

Elements of CSchool charging include:

  • System users, constant charging

  • File hosting, charging for lodging

  • Reprographics, constant charging

  • Postal sending,

  • Multimedia services, video and audio stream

  • Activities and resources for creating lesson plans

To set, store and consult the CSchool charging system results, XML language is used in all the steps carried out in the cloud. The XML charging system allows the possibility of obtaining a detailed scheme grouped by the resource type of charging while also providing all relevant details to the user. In this system, the dependencies between the different cloud services are considered; this is where the layers of basic operation are used as well as any transactions between the different elements. Figure 13.5 contains an example of the chart printing services. It also demonstrates how web services are located in different layers to communicate and send information between them.

Fig. 13.5
figure 5

Presentation of CSchool printing scheme and location of web services in different layers and relation of transactions between its different elements

13.4 Distributed User Interface Development in CSchool

The CSchool scope and its virtual location in the cloud necessitate the support of DUIs. This is due to the fact that a quality educational system needs to take into account new technologies, mobile devices and multiple uses of these devices simultaneously in the cloud, so that users can interact with the application in a dynamic way. In this scenario, the cloud provides a communication channel for the users to share information in real time. Consequently, specific CSchool services were created to establish user communication and interaction. Thus, the interface’s designs as well as distribution methods between several user interfaces are managed in the cloud before being displayed on the user device. These interfaces were developed using Model Driven Architecture (MDA) [15]. Moreover, all educational resources were developed to support DUIs and to share reading (viewing) and writing (editing) properties. The interface application is separated into several sections and divided for distribution between several devices, providing the means for communication and collaboration (see Fig. 13.6).

Fig. 13.6
figure 6

CSchool rational design showing the different parts of the application’s user interface: those shared between users and those shown to each user as private sections

The rational design described in Fig. 13.6 defines the interface functionality where users can select whether they want to share reading/writing properties of their screen with other users. Section A indicates the menu options for sharing items; “read” and/or “write” properties to be added. By managing A, the user interface will preview these actions on the other interface elements (B, C, D and E). These DUI features designed and developed for CSchool facilitate collaborative work for students and teachers, as well as parents who get involved in the educational process, by interacting in sessions scheduled by the teacher. It also allows for the creation of curriculum materials and pre-configuration of learning activities for inclusion in the teaching units.

13.4.1 CSchool Distributed User Interfaces Architecture

Cloud systems provide DUIs with an environment where they can interact; therefore their architecture provides a workspace where different interfaces can share their information. In order to create the architecture, the interface was divided into parts or sections to get an interface in which the “sharing” of objects was possible between multiple users not often located in the same place. These objects are part of the services offered by the DUI cloud within the CSchool system. The system sends the parts or sections of the interface to each device and to those who can support the display of the same information in different ways: thus, users can interact and collaborate among themselves to carry out the educational tasks. This architecture works through TCP/IP communication protocols.

This makes the DUI cloud a “Client–server” communication system where clients connect to the server and can interact with the objects; these objects simultaneously inform other clients that they have been modified or are being used (this is achieved with the implementation of events on the server objects “Parts of the shared interfaces”). Figure 13.7 presents the architecture in which the DUI cloud allows users to interact. This architecture is divided into two parts. The items outlined by the red box deal with the management of users and activities; this part allows DUI cloud integration with the different system architectures.

Fig. 13.7
figure 7

Architecture of the DUI cloud within the CSchool system containing the services offered to the users and its relation with other clouds

The items outlined by the purple box are the architecture functions. The “Objects” are distributed to the different devices of the users. Once an object is used an “Event” is triggered, and this object reports within its session to the other objects that it is being used; this is done through the “Listener” pattern. We also include the services “Apps” and “Apps Generator”, the applications that manage the objects created by the teacher for viewing by the students. Regarding the application for teachers, the “Activities” need to be transformed, which the cloud system can do, to support the DUI environment. This is done through XML files created by an encapsulation of data and allows the generation of activity through events and objects. “DUI Activities”, in blue, is responsible for adapting the traffic of information between the system and the DUI cloud.

The system works through a shared environment where users connect to the created sessions that consist of objects containing the activity. The modification and updating feature of the interface follows a similar pattern to that of the observer [16]. This pattern fosters communication between objects and updates the system so that the pattern includes in the objects themselves the elements to facilitate its synchronization with the same communication-oriented methods and to avoid interface blockage. Figure 13.8 presents the observer pattern with the packages of communication that allow the system to operate in a distributed manner. During programming and implementation, communication with the pattern was isolated and adapted to the different interfaces. The “Thread Class” was extended to avoid interface blockages during the receipt of data.

Fig. 13.8
figure 8

Observer pattern with events to actualize used and modified objects

The work session manages the distribution of shared objects for different interfaces and warrants that its use in this session will not result in the loss of information by the user. Its operation is simple; once any user detects a change, the system fires an interface update event, which modifies the contents of the interface in all the devices that share this object. The listener receives the event and updates the interface with the data provided by the event (an event is an object that can store information using methods and properties). In conventional desktop applications, events are triggered when the user action acts on the interface. In this case, however, the user modifies the object in the interface and starts modifying the objects of other users during the session.

13.5 CSchool Presentation

Next, we present screenshots from an activity performed in the classroom and the user interfaces for devices in different scenarios (school, home, etc). In order to start the class, the teacher has to perform several steps; he creates and initializes student sessions so the students’ mobile applications will work (see Fig. 13.9).

Fig. 13.9
figure 9

CSchool teacher application shows how the teacher can create a session of activities for a set of students, located in different places, to carry out collaborative work

Once the teacher finishes creating a session, the student can start carrying out the work; the student can usually visualize and complete his schoolwork on his mobile or tablet device (see Fig. 13.10).

Fig. 13.10
figure 10

CSchool student application shows how students can carry out collaborative activities from different devices; the same information is presented in different manners

Students can carry out their work on their own or, in the future, be remotely monitored by their tutor, who will view the student’s screen from a TV or any other smart device that has the application installed.

13.6 Conclusions and Future Work

The CSchool educational system, a work in progress, is presented in this research study in its current state of development. The CSchool initial architecture supports an information system used in schools as part of the Spanish “School 2.0” project. To support CSchool design and development, the actors and scenarios for associated cloud services were defined based on an innovative design idea. The DUI design and development improve collaboration within the educational process and act as a roadmap for CSchool analysis, design and implementation. The educational process starts by arranging schedules and lesson plans, developing the teacher’s book, etc.; the system needs to operate in external clouds while also serving as the axis of a central system to facilitate the daily work of users.

Future work includes the system implementation and integration to the Cloud. Another future aspect of research is the simplification of the process of implementing distributed interface services in the cloud. It explores the possibility of creating a specific framework for programming these interfaces using a system that allows the interaction of these objects through events in a session created by the teacher.