Refactoring of Learning Objects for Mobile Learning - Springer

5 downloads 104083 Views 332KB Size Report
Aug 3, 2009 - We evaluate usability of a LO from the user interface point of view, following the user interface development principles that are common both for ...
88 Refactoring of Learning Objects for Mobile Learning Robertas Damasˇevicˇius

Abstract We analyze the problem of refactoring of learning object (LO) for m-Learning. We apply methods adopted from software engineering domain for redesigning the structure and user interface of a LO and aim both at increasing usability and accessibility of the learning material. We evaluate usability of a LO from the user interface point of view, following the user interface development principles that are common both for human–computer interaction (HCI) and e-Learning domains. We propose the LO refactoring framework based on user interface usability principles. In a case study, we demonstrate the refactoring of an array-sorting LO for a mobile device. Keywords Learning object



m-Learning, Refactoring

1. Introduction e-Learning is learning that uses computer networks as the delivery mechanism [22]. However, the Internet technologies are only a prerequisite for e-Learning. e-Learning considers content, technologies, and services for delivering learner-centered, interactive, and facilitated learning environment to anyone, in anyplace, at anytime by utilizing the attributes and resources of various digital technologies along with other forms of learning materials tailored for open, flexible, and distributed learning environments [14]. Currently, ‘‘learning objects’’ (LOs) are leading as an instructional technology of choice for eLearning support due to its potential generativity, adaptability, and scalability [29]. LOs are digital teaching components that were introduced following the object-oriented (OO) paradigm in software engineering. LOs can be delivered over the Internet where they can be accessed and used by many learners simultaneously. Furthermore, LOs can be reused multiple times in different contexts, used independently, or grouped into larger collections of content, including traditional course structures. From the technological point of view, a LO consists of (1) teaching material and (2) technologies that are used to provide a view of a LO to the user, i.e., a user interface (UI). The design and development of LOs for e-Learning and, especially, m-Learning solutions are time consuming, cumbersome, and usually based on concrete models, scenarios, and recommendations, but not on general framework or methodology. Despite the great potential advantages, the methodologies for developing LOs for m-Learning environments are still underdeveloped. The analysis of m-Learning is still in its infancy, and most attention is paid to benefits, possible uses, used technologies, and case studies. LO adaptability is a critical requirement to accommodate a large variety of learners that will be accessing LOs through web-based learning management systems (LMS). The adaptive features of LOs include a LO language, inclusion of optional material, size or information content granularity of LO states, ordering of examples, general rules, selection of visual metaphors and icons, adjustments in colors, fonts, Robertas Damasˇevicˇius



Software Engineering Department, Kaunas University of Technology, Kaunas, Lithuania.

G.A. Papadopoulos et al. (eds.), Information Systems Development, DOI 10.1007/b137171_88, Ó Springer ScienceþBusiness Media, LLC 2009 839

840

Robertas Damasˇevicˇius

and size, etc. [27]. Therefore, adaptation of LOs is not a trivial task and requires a solid methodological background. In this chapter, we adopt a concept of refactoring, known from software engineering, to the eLearning domain. Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior [10]. As such, refactoring is a part of reengineering process [17]. Recent work in LO refactoring and reengineering includes the development of reengineering frameworks for e-Learning systems [5], reengineering of e-Learning systems [3], reengineering learning materials for electronic platforms [21], refactoring of learning software with mobile extensions [18], refactoring of eLearning resources based on a competence model and instructional roles [31], pedagogical reengineering of distance learning courses using new technologies [6], restructuring of courseware to allow reuse of learning material for different pedagogical scenarios and adaptation of courseware for delivery in a computer network [24], reengineering of learning scenarios [26], redesign of courses using reusable lesson modules or objects to achieve cost reduction [12], reengineering legacy processes such as lectures, tutorials, group activity, discussion groups for use with online learning [9], and case studies in reengineering of LOs for eLearning and m-Learning [28]. Reengineering of LOs is still an underdeveloped topic and LO reengineering processes are to be improved [23]. Our prior work concerned the definition of common HCI and e-Learning principles for designing usable user interface (UI) for LOs [7] and analysis of the problem of LO reengineering [8] based on common usable UI design principles. The aim of this chapter is to demonstrate how the concept and methodology of refactoring adopted from software engineering can be used in adapting learning materials for m-Learning. Section 2 discusses technological and educational issues related to m-Learning. Section 3 analyzes a concept of refactoring in software engineering, describes basic techniques of learning content refactoring, and proposes a framework for LO refactoring. Section 4 demonstrates an application of the framework for refactoring a LO for a mobile device. Section 5 discusses open research issues in LO refactoring. Section 6 presents conclusions.

2. Technological and Educational Issues in m-Learning 2.1. Technological Constraints of Mobiles A mobile device (such as PDA, mobile phone, smart phone) is a small (pocket-sized) computing device comprised of a small visual display screen for user output and a miniature keyboard or touch screen for user input. The technological challenges for designing UIs for mobile devices are as follows [13]: 1) Limited input facilities: PDA users can input text and control functions with a stylus and a miniaturized on-screen, separate, or add-on keyboard. Handwriting recognition software can be used to type text, but it is often quite inaccurate and works slowly. Mobile phones typically use a 12-button keypad. 2) Small screen size, low resolution, and number of colors: Small screens with short lines slow down the speed of reading. The display resolution of a PDA screen is poor: typically 240  320 or 320  320, and for mobile phones the resolution is even smaller. Current mobile devices with color displays support either 4,096 (12-bit) or 65,536 (16-bit) colors while PCs can display over 16 million (32-bit) colors. 3) Slower CPU and smaller memory: The processing power is behind that of a desktop computer and thus limits the ability of running multimedia applications on mobile devices. CPU may have 600+ MHz speed, but this characteristic can be very misleading, because mobile devices run an ‘‘emulation layer,’’ which makes application code 5–20X slower than the same code running in the native processor mode. The amount of data that can be stored in a mobile device is limited: typically, there is 64 MB RAM on a handheld, while 32 MB of it is dedicated to the file system. 4) Lack of persistent storage: PDAs and mobile devices can lose data if the battery power is allowed to run low for long periods. Lack of persistent storage such as hard disks is a major drawback for these devices. There is a trend to solve this problem in mobile devices by including a solid-state flash memory. Expanded memory can be provided via secure digital/SDIO/MMC memory card slots.

Refactoring of Learning Objects for Mobile Learning

841

5) Battery life: The development in the performance of batteries continues to lag that of the other elements of the hardware such as processor speed and storage sizes. Most devices use rechargeable lithium polymer cells which have limitations in life cycle and levels of power provided. The restrictions in battery power limit processing and communication facilities of mobile devices [1]. Thus power consumption is a major issue with handhelds. 6) Data connectivity: While connectivity bandwidth in most cases is not an issue, the cost of it limits the widespread use of this technology. Mentioned restrictions are cited very often, but mobile devices are evolving very quickly, and they become less relevant to the problem. 2.2. Educational Issues in Using Mobile Devices m-Learning can be defined as user-centered learning supported through the usage of mobile devices. These devices are used to deliver a wide range of educational content to users without dealing with time and location restrictions associated with traditional learning methods such as attendance of classrooms, time scheduling of lectures, or connection to a specific network associated with many e-Learning activities [15]. The main advantage of m-Learning is the ability to perform training and assessment tasks using any device connected to any network. Another advantage is a learning style that is novel, attractive, interactive, and engagement supportive amongst the students [20]. The main challenge for a teacher in m-education is to provide pedagogical support to mobile students independent of time and location [25]. Since the educational content is readily available to the learner on the mobile device or can be accessed using a wireless Internet connection, the role of an educator shifts toward online collaboration and interaction with students aiming to support active learning activities (such as surfing the web for information) rather than passive assimilation of learning content. The student’s role is to actively seek for information that includes educational materials provided by an educator as well as materials available on Internet. m-Learning enhances the learning experience by supporting more frequent student–educator and student–student interactions. It enables students to participate more actively in discussions and provides the educator with better feedback on his/her topic. The studying becomes more frequent, but takes shorter periods of time. m-Learning encourages both independent and collaborative learning experiences, helps remove some formality from the learning process, helps to raise self-esteem and self confidence of a learner, engages reluctant learners, provides a material tailored to the needs of an individual learner, and raises concentration on the learning subject [2]; however, there are memorability problems related to assimilation of rapid flows of information. The main aims of adapting learning content when migrating from traditional learning and e-Learning environments to m-Learning should be (1) to provide adaptation of learning content to the technological capabilities and constraints of the mobile devices and (2) to utilize the pedagogical advantages and mitigate disadvantages of a learning style associated with m-Learning. These aims could be implemented by refactoring the existing LOs for mobile devices, which is discussed in the following section.

3. Refactoring of Learning Objects 3.1. Concept of Refactoring in Software Engineering In software engineering, refactoring of a program means the modification of its code in order to improve its readability, understandability, internal consistency, and clarity without changing its external behavior. Note that external behavior is understood here in terms of functionality and services delivered by a program to external users or systems, but not in terms of user interfaces, which are a representation of user interaction with a system. Refactoring can be regarded as the object-oriented equivalent of restructuring, which is defined as ‘‘the transformation from one representation form to another at the same relative abstraction level, while preserving the subject system’s external behavior (functionality and semantics)’’ [4].

842

Robertas Damasˇevicˇius

The principal goals of refactoring include increasing understandability, flexibility, and dependability, while at the same time preserving the functional behavior of the artifact [30]. Refactoring is not concerned with fixing errors or adding new functionality. Rather it is aimed at improving the understandability of the code or changing its internal structure in order to make it more maintainable. An example of a trivial refactoring is to change a variable name into something more meaningful. Refactoring is an important activity in the software development process. Software developers often alternate between adding new functionality and refactoring source code to improve its internal consistency and clarity. As software is enhanced, modified, and adapted to new requirements during its life cycle, the code becomes more complex and drifts away from its original design, thereby lowering the quality of the software. In the context of software evolution, refactoring is used to improve the quality of the software (e.g., extensibility, modularity, reusability, complexity, maintainability, efficiency) [17]. Refactoring is also used in the context of reengineering, which is the analysis and alteration of a software system in order to implement it in the new form. In this context, refactoring is needed to convert legacy or deteriorated code into a more structured form or to migrate code to a different programming language [4]. Although refactoring is often understood as the modification of source code only, it also can be applied to any type of software artifact such as UML models or software requirements [17]. 3.2. Learning Content Refactoring Techniques When applied to learning content, refactoring may mean content cleaning (the removal of redundant and superfluous content), reformatting (improvement of content formatting using, e.g., colors, capitalization, or font style), adding of summaries at the end of separate parts of the content, adding an overview for the learners, who may not want to have in-depth explanation of the topic, insertion of headings, subheadings, or paragraph titles to attract attention and increase understandability of content, re-arrangement of content, breaking of content into smaller more manageable parts, referencing (linking to specific parts of the existing content as well as to the external material), and layering of content using bullets or tables. Note that learning content is understood here as static open source learning materials, which are described using a markup language and are available for editing. The main characteristics of learning content refactoring are as follows: 1) Refactoring deals with the internal structure of learning content. Thus, the techniques of refactoring are applied to teaching artifacts such as learning assets. 2) Refactoring explicitly preserves the meaning of learning content and observable behavior of a LO. 3) Refactoring aims at improving learning content according to an informally expressed goal, e.g., improvement of readability, clarity, and maintainability. 4) Refactoring steps are fine grained and can be described in a catalog using a description template similar to that used by design patterns [11]. 3.3. Framework of LO Refactoring Considering the learning content refactoring techniques introduced in Section 3.2, we propose a framework for learning object refactoring (see Fig. 88.1): (1) Identification: Identify the location for refactoring in the learning object. (2) Determination: Determine which refactorings (selected from a catalogue of known refactorings; for an initial list of such refactorings; see Table 88.1) should be applied for the refactoring location. Determination should be based on the objectives (what we aim to achieve?) and expectations (what result we expect?). (3) Meaning preservation: Ensure that refactoring does not change the meaning of learning material. In the absence of more formal guarantees, a comprehensive testing procedure should be set up to ensure that each refactoring is behavior preserving. (4) Application: Apply the selected refactorings to the LO.

Refactoring of Learning Objects for Mobile Learning

843

Refactorings catalogue

Identification

Consistency preservation

Determination Learning Object Meaning preservation

Assessment

Usability principles

Application

Figure 88.1. A framework of LO refactoring.

Table 88.1. Learning content refactoring techniques. Refactoring technique

Description

Advantage

Cleaning Reformatting Summarizing Overviewing Breaking

Removal of redundant and superfluous content Improvement of content formatting Adding of summaries at the end of separate parts of the content Adding an overview/preview Breaking of content into smaller, more manageable parts

Headlining Referencing

Insertion of headings, subheadings, or paragraph titles Linking to specific parts of the existing content as well as to the external material Representation of content in layers: vertically (using bullets) or horizontally (using tables)

Increases clarity Improves readability Improves understandability Improves content assimilation Attracts attention, improves understandability Attracts attention Improves understandability

Layering

Improves understandability

(5) Assessment: Assess the effect of the refactoring on the quality of the refactored LO using a LO evaluation model based on usability principles. (6) Consistency preservation: Maintain consistency between refactored elements and other parts of the LO. An important part of the refactoring process is identification of locations, where refactoring is needed, and assessment of the effects of the performed refactorings. We claim that such identification and assessment should be made based on the LO usability principles. The usability problem is especially important when new technologies (in our case, mobile technologies) and new ways to use these technologies are considered. When evaluating technical usability, the basic assumption is that it should be easy to learn to use the main functions of the system, which should be efficient and convenient in use. Different artifacts and instruments are employed to solve the problems concerning the achievement of higher usability such as recommendations, guidelines, standards, and principles [16, 19]. Here we use the common principles for usable user interface design formulated for HCI/e-Learning domains [7].

Robertas Damasˇevicˇius

844

4. Case Study 4.1. Original Learning Object In our case study, adopted from [7], we consider LOs aimed at teaching the array-sorting algorithms. Such LOs can be used in different programming teaching courses to demonstrate the principles and effectiveness of the array-sorting algorithms within the Internet-based e-Learning environment independently from a particular programming language. The original LO was assembled from the teacher’s lecture materials and implemented in HTML and Javascript. HTML is used for presentation of the natural language description of a sorting algorithm and presentation of its implementation in a specific programming language, while Javascript is used for demonstration of the principles or effectiveness of a specific sorting algorithm. The original LO as seen via the Internet browser is shown in Fig. 88.2a. The LO introduces the student with the description and implementation of the bubble sort algorithm and demonstrates it in action. The array for sorting is generated after pressing the button ‘‘Generate.’’ The sorting process is demonstrated after pressing the button ‘‘Bubble sort.’’

Figure 88.2. LO: a) original LO, b) LO after refactoring for m-Learning (a fragment).

4.2. Refactoring of a LO to a Mobile Device Our aim is to perform the refactoring of the available LO to a mobile device (Pocket PC, Qtek S200, 195 MHz, RAM 64 MB, LCD 240320, 65536 col.). When the LO was ported to the mobile device due to the limitations of the mobile device, the interface of the LO had many shortcomings such as low visibility, therefore, though the UI was designed following the common HCI/e-Learning domain principles [7], it required further adaptation and modification. During adaptation we considered the following constraints of the mobile devices: limited input facilities, small screen size, low resolution and number of colors, and slower CPU and small memory. We apply the refactoring techniques and the learning object refactoring framework described in Section 2. The refactorings applied to the LO are described in Table 88.2. The refactored LO as seen via the display of Pocket PC is shown in Fig. 88.2b. All refactorings of the LO were made considering small screen size only. This is impacted by the nature of our example LO, because it is aimed for presentation of learning information rather than for interactive activities. Limited input capabilities in this case were not as important, because this LO required no large amount of input data.

Refactoring of Learning Objects for Mobile Learning

845

Table 88.2. Refactorings of the learning object.

Modification Tables were eliminated and content was represented in one column. The main purpose is to eliminate horizontal scrolling. Now elements are layered vertically instead of horizontally Site structure was renewed. Title page with content was made as a separated element, which shows an overall structure of the LO Scrolling from title page was eliminated. Direct access is realized as follows: each function (part) is accessed by one link (with one click) The overall amount of material on one page was reduced. Unnecessary elements used for better appearance were eliminated Font size was reduced. Students remain able to modify the size of the LO elements using browser capabilities Color scheme was modified, in order to meet requirements to better use in poor visibility environments Some text labels (titles of pages) were shortened Key phrases were accentuated in bold, in order to gain better readability The smaller version of the link list is included in every page. It also concerns that users usually scroll only down but not up

Refactoring technique Layering Headlining Referencing Cleaning Reformatting Reformatting Cleaning Reformatting Overviewing

5. Open Research Issues in LO Refactoring LO refactoring is still a novel research direction in e-Learning. Therefore, there are many open research problems that are required to be solved: 1) Formal description of refactorings in e-Learning domain: what formal language/notation should be used? 2) Definition of relationships between refactorings: how to manage dependencies between LO refactorings? Detection of dependencies is important for ensuring that all dependent refactorings are applied where they are needed. 3) Formal definition of the concept of ‘‘behavior’’ in the e-Learning domain. The definition of refactoring is based on the concept of the external behavior, which states that ‘‘for the same input, we should obtain exactly the same output.’’ The external behavior is not the same as the user interface, because the user interface only provides a representation form (textual, graphical, audio/video, etc.) for an interaction between a user and a system. It is not always clear what are the inputs and outputs of a LO. This implies that we need a more precise definition of LO behavior that may or may not be preserved by refactoring, depending on specific concerns of an educator or a learner. 4) Development of an ontology of LO refactorings. There are many primitive refactorings as well as a number of composite refactorings. We need to define a hierarchy of such refactorings and a sequence of their application based on their effect on the quality of a LO. 5) Development of a comprehensive LO testing methodology, which provides for management of LO behavior consistency during refactoring. Since we cannot test a LO after every refactoring, we need to define levels of LO change after which a testing of a LO should be performed. 6) Definition of the quantitative LO quality metrics to allow evaluating the effect of the application of refactorings on the LO quality. Such quality metrics can be based on the quality attributes used for evaluating software quality (such as ease of use, robustness, adaptability, reusability, compatibility, performance, portability, and understandability) as well as on the learning-oriented quality attributes of a LO. 7) Evaluation of the educational value of the performed LO refactorings. It is hard to prove that the use of any technology-based facility really improves the quality of learning. Due to complicated nature of the education domain there and its social implications (learning is a social process) usually various forms of questionnaires are used to assess student satisfaction and learning effectiveness.

846

Robertas Damasˇevicˇius

6. Conclusion and Future Work In this chapter, we have analyzed the problem of refactoring of learning objects (LOs). We have identified the following learning content refactoring techniques (refactorings): cleaning, reformatting, summarizing, overviewing, breaking, headlining, referencing, and layering. The refactorings can be applied to LOs independently or collectively following the proposed learning object refactoring framework, which includes six major steps: identification, determination, meaning preservation, application, assessment, and consistency preservation. The framework is based on the usability principles, formulated in the HCI and eLearning domains. The proposed LO refactoring framework allows to increase adaptability and usability of LOs for m-Learning. Future work will focus on the open research problems in LO refactoring: formal description of refactorings, definition of relationships between refactorings, development of ontology of LO refactorings, and definition of quantitative metrics for evaluation of LO refactorings.

References 1. Anderson, P. (2005) Mobile and PDA Technologies: Looking around the corner. JISC Technology and Standards Watch. JISC. 2. Attewell, J. (2005) From Research and Development to Mobile Learning: Tools for Education and Training Providers and their Learners. In Proc. of 4th World Conf. on mLearning (mLearn 2005), Cape Town, South Africa. 3. Barre, V., Chaquet, C. and El-Kechaı¨ , H. (2005) Re-engineering of collaborative e-Learning systems: evaluation of system, collaboration and acquired knowledge qualities. In Proc. of the 12th Artificial Intelligence in Education AIED, Workshop ‘‘Usage Analysis in Learning Systems’’, 18–20 July 2005, Amsterdam, The Netherlands, pp. 9–16. IOS Press, Amsterdam. 4. Chikofsky, E.J. and Cross, J.H. (1990) Reverse Engineering and Design Recovery: A Taxonomy. IEEE Software 7 (1), pp. 13–17. 5. Choquet, C. and Corbie`re, A. (2006) Reengineering Framework for Systems in Education. Educational Technology and Society 9 (4), pp. 228–241. 6. Cruz, D.M., de Moraes, M. and Barcia, R.M. (1998) Tele-Learning and Distance Learning Re-Engineering Process. In Int. Conf. on Engineering Education (ICEE 98), Rio de Janeiro, Brazil, August 17–20, 1998. 7. Damasˇ evicˇius, R. & Tankelevicˇien_e, L. (2008a) Merging HCI and e-Learning Domain Oriented Design Principles for Developing User Interfaces for Mobile Devices. In Proc. of Int. Conf. on Innovations in Learning for Future e-Learning, March 27–29, 2008, Istanbul, Turkey, pp. 155–166. 8. Damasˇ evicˇius, R. and Tankelevicˇien_e, L. (2008b) Learning Object Re-engineering Based on Principles for Usable User Interface Design. In Proc. of 10th Int. Conf. on Enterprise Information Systems (ICEIS 2008), Vol. HCI, June 12–16, 2008, Barcelona, Spain, pp. 124–129. 9. Ferguson, J.D., McGettrick, A.D., Wilson, J. and Weir, G.R.S. (2002) Reengineering for Quality On-Line. In Proc. of Computers and Advanced Technology in Education (CATE 2002), May 20–22, 2002, Cancun, Mexico. 10. Fowler, M. (1999) Refactoring: Improving the Design of Existing Code. Addison Wesley, Reading, MA. 11. Gamma, E., Helm, R., Johnson, R. and Vlissides, J.M. (1994) Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, Reading, MA. 12. Im, J.H. (2008) Educational Reengineering For E-Education. In Proc. of College Teaching and Learning (TLC) Conference and International Applied Business Research (IABR) Conference, March 17–20, 2008, San Juan, Puerto Rico, USA. 13. Kadirire, J. (2006) Learning with Mobile Devices – A Microportal Design Experience. Recent Research Developments in Learning Technologies 2, pp. 792–797. 14. Khan, B.H. (2005) Managing e-Learning: Design, Delivery, Implementation and Evaluation. Information Science Publishing, Hershey, PA. 15. Marcos, L., Hilera, J.R., Gutie´rrez, J.A., Page´s, C. and Martı´ nez, J.J. (2006) Implementing Learning Objects Repositories for Mobile Devices. In Proc. of First Int. Conf. on Ubiquitous Computing (ICUC), June 7–9, 2006, Alcala´ de Henares, Spain, pp. 31–38. 16. Mariage, C., Vanderdonckt, J. and Pribeanu, C. (2004) State of the Art of Web Usability Guidelines. In Proctor, R. and Vu, K. (eds.), The Handbook of Human Factors in Web Design. Lawrence Erlbaum Associates, Mahwah, NJ. 17. Mens, T. (2004) A Survey of Software Refactoring. IEEE Transactions on Software Engineering 30 (2), pp. 126-139. 18. Mohan, P. (2007) Using m-Learning Technologies to support tertiary-level education in the Caribbean. In Proc. of CADE/ACED Int. Conf., Winnipeg, Canada, May 12–16, 2007. 19. Nokelainen, P. (2004) Conceptual Definition of the Technical and Pedagogical Usability Criteria for Digital Learning Material. In Proc. of World Conf. on Educational Multimedia, Hypermedia and Telecommunications (EDMEDIA 2004), pp. 4249–4254. 20. Nyı´ ri, K. (2002) Towards a Philosophy of M-Learning. In Proc. of IEEE Int. Workshop on Wireless and Mobile Technologies in Education WMTE’02, Va¨xjo, ¨ Sweden, pp. 121–124.

Refactoring of Learning Objects for Mobile Learning

847

21. Pankratius, V. & Vossen, G. (2005) Reengineering of educational material: a systematic approach. International Journal of Knowledge and Learning (IJKL) 1 (3), pp. 229–248. 22. Piskurich, G.M. (2003) The AMA Handbook of e-Learning: Effective Design, Implementation, and Technology Solutions. AMACOM, New York. 23. Polsani, R.P. (2003) Use and Abuse of Reusable Learning Objects. Journal of Digital Information 3 (4), pp. 164. 24. Ponta, D. and Da Bormida, G. (1996) Re-engineering a computer-based learning course in digital electronics for flexibility, re-use and network delivery. In Proc. of Frontiers in Education Conference (FIE’96), November 6–9, 2006, Vol. 3, pp. 1203–1207. 25. Quinn, C. (2000) M-Learning. Mobile, Wireless, In-Your-Pocket Learning. Linezine. 26. Randriamalaka, N., Iksal, S. and Choquet, C. (2007) Indicators’ Elicitation Process for Re-Engineering of Learning Scenario: Tracks Approach Based on Usage Tracking Language. In Proc. of the 7th IEEE Int. Conf. on Advanced Learning Technologies, ICALT 2007, July 18–20, 2007, Niigata, Japan, 492–496. 27. Rodriguez, O., Chen, S. and Shang, Y. (2003). Open Learning Objects: The Case for Inner Metadata. The Journal of Computing in Small Colleges, 18 (4), pp. 56–64. 28. Scalera, M., Convertini, V.N., Marengo, A., Marengo, V. and Serra A. (2007) Re-Engineering of a Flash Based Application for Mobile Learning. In Proc. of the 2007 Computer Science and IT Education Conference, November 16–18, 2007, Mauritius, pp. 635–647. 29. Wiley, D.A. (2000) Learning Object Design and Sequencing Theory. PhD Thesis, Brigham Young University. 30. Wohlfarth, S. and Riebisch, M. (2006) Evaluating Alternatives for Architecture-Oriented Refactoring. In Proc. of 13th Int. Conf. and Workshop on the Engineering of Computer Based Systems (ECBS06), Potsdam, Germany, March 2006, pp. 73–79. 31. Zouaq, A., Nkambou, R. and Frasson, C. (2007) Using a Competence Model to Aggregate Learning Knowledge Objects. In Proc. of 7th IEEE Conf. on Advanced Learning Technologies (ICALT 2007), July 18–20, 2007, Niigata, Japan, pp. 836–840.