Paper— Personalized Ubiquitous Learning via an Adaptive Engine Personalized Ubiquitous Learning via an Adaptive Engine

— In recent years, the number of mobile terminal type has been grown dramatically, and that is why accessing the right information at any time and any place is becoming a necessity. A learning system is called ubiquitous if it is able to adapt itself to its context such as user, platform, activity, environment, device, etc. In this sense, theories and methods of adaptation keep rolling in order to make learning processes more efficient and relevant. In the present paper, we propose an approach to provide a personalized learning content in ubiquitous learning, considering individual learner learning preferences and context-awareness. The proposed approach aims to support learners by presenting course materials generated by an adaptive engine based on four modules, which are research, filtering and selection, organization and presentation.


Introduction
It has been shown that personalized learning content increases learner interest, comprehension and hence their learning success [17]. However, one major challenge persists, which is the creation of suitable learning material [1] [2] [12]. Furthermore the rapid progress of mobile, wireless communication and sensor technologies has potentially promoted the growth of diverse learning approaches, such as Elearning, Mlearning, Plearning, etc. Ulearning is one of the innovative approaches. According to Ogata and Yano [16] "Ubiquitous learning integrates high mobility with pervasive learning environments, where the learner is moving with a mobile device and the system dynamically supports learning by communicating with embedded computers in the environment".
This research work is an extension of our previous work [8], it is aimed at supporting learners with suitable learning resources in ubiquitous environment, by presenting them in a way that match learner's profile in order to produce the personalized output. An adaptive ubiquitous learning system is a system that adapts itself at every moment to learner context information. The physical, virtual and logical sensors allow acquiring the contextual information about the learner, whereas generating the adapted course is performed by the system itself. In particular, this work elaborates on the principles used for delivering adaptive courses based on an adaptive engine that consists of four modules: Research, Filtering and Selection, Organization, and Presentation. This adaptive engine is based on learner's information (learning style, cognitive style, and cognitive state) and the learner context (luminosity, noise, connectivity, mobility). This paper is structured as follows. Section 2 focuses on learner model using Felder-Silverman learning styles. Section 3 describes the course components by specified its different layers. Section 4 presents our adaptive engine based on four modules. Section 5 describes our system and some of its interfaces. Finally, Section 6 displays the main conclusions and future works.

Learner profile
In adaptive learning systems, the learner model is essential for generating personalized paths. The question lies in selecting the learner characteristics to which the system must adapt. These properties may be different from one learner to another, and for the same learner they may vary over time.
In learner model, it is important to distinguish an adaptable model from an adaptive model: 1. The model is modified only by the learner. 2. The model is automatically modified by the system according to the learner interaction with it. 3. learner models can be constructed in two ways: • Stereotype approach in which we consider groups of learners with common characteristics. • Individual approach in which each learner is described with its own characteristics.
In this section we will first introduce the Felder-Silverman learning style, used for building the learner profile. Secondly, we will describe the learner context which is considered primary information, in order to offer him an adaptive ubiquitous learning. Finally, we will propose our learner model, by specifying in details the adaptation criteria.

Learning styles
Learners have different ways of learning; each learner has his own perception level, his own way of building and retaining knowledge. That's why a single style won't be appropriate for all learners. Therefore it is necessary to grasp his learning style first, in order to correctly choose the strategies and adapt the system to it.
In our approach we chose the Felder-Silverman learning styles, because its Index of Learning Styles (ILS) offers a practical and concrete approach to determine the dominant learning styles of each learner, plus the results of ILS can be easily connected to environments.
According to Felder-Silverman learning styles model [10], learners are characterized by their preferences in four dimensions: The Index of Learning Styles (ILS) specifies an individual's preferred dimensions of the learning style model by asking 11 questions items for each of the four dimensions. Each item has a possible A or B response that corresponds to either one of the categories related to the dimension for example the active or reflective dimension. The B responses are subtracted from the A responses to obtain a score that is an odd number between -11 to +11 [11] as showing in figure 1.

Context learner
A learner in ubiquitous learning system (Ulearning) is different from a learner in traditional learning system (Elearning): obtaining contextual information from the learner is a primordial step to ensure a learning that is accessible from everywhere and from any device.
The context is an important element that allows the selection of pertinent objects from the environment in which the learning process occurs.
Some authors propose the following definitions for learning context: « learning context is used to describe the current situation of a person related to a learning activity; in addition to attributes relying on the physical world model » (Michael Derntl & Karin A. Hummel) [3] ; « information and content in use to support a specific activity (being individual or collaborative) in a particular physical environment » (A. Kurti et al.) [15].
According to Henricksen, Indulska and Rakotonirainy [14], acquiring contextual information is achieved using physical sensors that can be integrated directly into other tools, virtual sensors for extracting contextual information from virtual spaces such as programs, systems operation, network, etc., or logical sensors that use the information of the physical and virtual sensors to deduce other information.
Acquiring contextual information is achieved through sensors, however the data captured is not always sufficient to filter the courses depending on the learner context, which is why there is an essential step : "interpretation" that must come before the context management, Figure 2 represents Life cycle of the context.

Adaptation criteria
In previous work [13] we have divided the Felder & Silverman learning styles in two components: • Learning style representing the preferred way of learning (e.g. definition, theory, question, exercise, etc.) • Cognitive style which is the style of assimilating or solving a problem (e.g. text, video, audio, etc.) In order to improve the learner profile we will of course add cognitive state, which represents the learner level (e.g. beginner, intermediate, or expert), and we should also take into account the context (Device, activity, and environment) of the learner to ensure an exhaustive ubiquitous learning system. In short, for each learner we will assign a learning path according to his characteristics as shown in figure 3: learning style, cognitive style, cognitive state, and learner context.

Course material
In this section we will introduce the course components, which is an essential element in all learning systems. We create the structure of a personalized leaning content, by specifying the different layers constituting a course, then by taking in consideration the order of the elements in the courses.
In our approach we assume that each course is composed of several sections. Each section is composed of several concepts interconnected by links. Each concept has a content in several formats: text, video, audio, etc.
The structure of the course material comprises five levels: Course, Section, Concept, Content and Media (figure 4).
• Course: Describes the pedagogical resource, each resource has several sections.
• Section: Represents the parts that constitute a course, each section contains several concepts. • Concept: Describes the set of concepts for a given section, these concepts are linked by relationships.  In the next section we introduce the adaptation engine that links the learner's profile to the material of the course presented in the previous sections.

Adaptive Engine
At the core of the e-learning system is the adaptive engine; it integrates and uses information obtained from the learner to produce personalized learning content. Our adaptive engine is composed of four modules that are: Research, Filtering/Selection, Organization, and Presentation. Table 1 shows the layer of the course material and also the characteristics of the learner used in each module of the adaptive engine. These steps are discussed in the following four subsections.

Research Module
The Research module uses the learner's basic information, it is achieved by calculating similarity value between two vectors, VC=<CK, CP, CL,> describing the course and the vector VL=<LK, LP, LL,> describing the learner, Where: K: Represents the keywords (e.g. Java, Python, Ruby, etc.). P: Represents the platform (e.g. Computer, mobile, tablets, etc.). L: Represents the language (e.g. Arabic, French, English, etc.). (1) When the resulting score is 1 the course Ci and the learner Li are identical, and 0 if there is nothing in common between them.

Filtering and Selection Module
Filtering and Selection Module is charged of extracting the shortest path P from Ci to Cf as showing in figure 5.  [6], that are a method to process the optimized problem, are currently the most widely-used algorithms for structured real-life instances. To use the ACO meta-heuristic to a combinatorial optimization problem, it is convenient to represent the problem by a graph G = (C, L), where C are the components and L is the set of connections. In our case C are the concepts and L are the learning activities. Each learner who walks the graph is represented by an "ant", a micro agent, who navigates on the graph. Each ant having cognitive state CS produces a fixed amount of pheromone when it moves across a node. The main idea of ACO is that the ants will find a best path to walk by their pheromone The proposed algorithm is as follows: Algorithm 1 procedure ACO ( ) initialize_ant( ); initialize_pheromone( ); for R=1 to number_of_rounds for N=1to number_of_ants while ( current_point!=end_points) ant_following_types; end while local_updating_rule; record_optimal_path; end for global_updating_rule; end for end procedure

Organization Module
Each concept is represented as four phases which are: Definition, illustration, example and exercise. The order of the four phases is adapted according to learner learning style [13] is displayed in table 2.

Presentation Module
This module is based on the results obtained in our previous works [7] [9], where we suggested a recommender system based on the learner context that are mobility, noise, luminosity, connectivity, and also learner's cognitive styles, considering those are the values that have the most influence on the learning object format (Text, audio or Video) . In order to achieve that objective, we used decision trees because it can divide a population of individuals into homogeneous groups. Algorithm 2 is generated from our decision tree that is considered as a set of rules and consequently each branch represents a rule. Algorithm 2 IF luminosity == "yes" THEN setLearningObject ("audio") ELSE setLearningObject ("audio") OR setLearningObject ("text") OR setLearningObject ("video") IF mobility== "yes" THEN setLearningObject ("audio") ELSE setLearningObject ("text") OR setLearningObject ("video") IF noise == "yes" THEN setLearningObject ("text") ELSE setLearningObject ("text") OR setLearningObject ("video") IF connectivity== "high" THEN setLearningObject ("video") ELSE IF connectivity== "low" THEN setLearningObject ("text") END IF  END IF  END IF  END IF   5 System description In our system we chose a client / server architecture, because the majority of the current learning platforms are based on it. This architecture allows separation between the client workstation, the application server and the information storage. The role of the client application is to enable users (Administrator, Author, Teacher and Learner) to interact with the platform.

Material architecture
The final architecture of the application is established in the end of this paper, Figure  6 describes briefly some elements of this architecture. The learners use mobile devices (laptops, smartphones, Ipad, Tablet, Mobile, etc.). We note that the sensors play a very important role in our system, because they will capture the contextual information needed for adaptation in ubiquitous learning. Using a web server is essential to execute the HTTP requests, the application server is also very important because it allows users to access network connected to all or part of a software application (program, GUI, data, ...) from a copy one located on a computing machine.

Interfaces
In this section we will present some interfaces of our system, starting with the learner profile, which is a very important model in our ubiquitous learning system. Table 3 shows the learner's profile on which we will base our choices to offer him adaptive learning, as we have already mentioned, the learner profile consists of four essential characteristics: Learning style, Cognitive state, Cognitive style, and context. The value of each characteristic is shown in Table 3.  Figure 7 (a) shows the first step after saving the learner profile, this interface is used to find the course suitable for the learner in question. This interface contains just a text box to enter keywords, a link to add advanced settings to the search, and a button to start the search. The result of the research changes according to the learner's profile, here for this learner the system will propose a course adapted to his profile saved at the beginning. The interface presented in Figure 7 (b) represents the learner's course plan, which also depends on his learning level, because before starting the course, the system proposes a Test to the learner in order to assign him a level (beginner, intermediate or expert). The course is generated differently, more details for an intermediate learner, less details for an expert learner.
In figure 8 (a) an example of a concept is presented as text according to the learner profile. In addition to the initial learner profile, sensitivity to the context from the sensors of the device is considered once we choose the appropriate delivery mode, for example, the presentation of the concept is in audio form if the learner is walking / Brightness is high, etc. So in general, the same learner can have the same path presented in different ways (text, audio or video) depending on their location. Figure 8 (b) presents the same concept presented in figure 8 (a) as audio form, because the system has detected a high level of brightness.

Conclusion
Due to the rapid growth of new information technologies and communication, ubiquitous learning becomes a reality: the user is always moving, he evolves in a varied environment and uses various interaction platforms (PC, PDA, tablet, telephone, etc.).

(a) (b)
The proposed approach aims to support learners by supplying them with course materials. These are appropriate to each learner's current contexts and based on their preferred learning styles, cognitive styles and cognitive state. Therefore, we have proposed an adaptive engine, which represent the link between the learner's profile and the course material. Our approach has three objectives: (1) to propose a learner profile composed of four characteristics that are learning styles, cognitive styles, cognitive state, and context; (2) present the structure of the course material; (3) Create the adaptive engine based on four modules. Prospects are consequently numerous, for example: Adding annotations using XML to ensure automatic adaptation, and suggesting other learner characteristics such as facial expressions to improve adaptation.