# Crossing the Borders: Re-Use of Smart Learning Objects in Advanced Content Access Systems
## 1 Introduction  
Computer Science Education Researchers have a long history of creating online educational materials. As might be expected, systems that support practicing small programming exercises have been available for many years, for example, Coding Bat [1] and CodeWorkout [2]. But many other problem types have been developed and deployed successfully, such as for Parson's Problems [3] and data structures proficiency exercises [4]. Likewise, visualizations have been used for decades to show the dynamic behavior of algorithms [5; 6; 7].  
There exist communications protocols that allow third-party educational tools to integrate with Learning Management Systems (LMS). Learning Tools Interoperability (LTI) [8] is one such specification. It was developed by IMS Global Learning Consortium and is now adopted by all major LMS. The purpose of LTI is to establish a standard way to securely integrate remotely hosted learning applications with platforms like an LMS.  
Under LTI terminology, learning applications are called Tools and they are delivered by Tool Providers. A tool might be an interactive exercise that a student might do for a grade. An LMS (systems like Moodle, Canvas or Blackboard) is called a _Tool Consumer_. The LTI specification enhances the native functionality provided by a Tool Consumer to include the tools made available by the tool provider. The result is that instructors have available many \"smart objects\" that they can embed intotheir course. Functionally, with LTI the LMS can display the third-party content to a student as though it were a native part of the LMS, collect scoring results from the third-party content and store this result in the LMS gradebook once the student has completed it.  
Many learning applications now support LTI but usually this integration is simple and uni-directional, with an LMS consuming small \"smart learning objects\" like a small exercise or visualization. But education researchers are developing much richer content and tools that require more sophisticated communications structures than this simple uni-directional model allows. In particular, eTextbook systems such as OpenDSA [9; 10] or Runestone [11] represent learning content as a hierarchically structured textbook and marshal a range of content types into an integrated whole. Another example is personalized content access portals such as SQL-Tutor [12] or MasteryGrids [13], which attempt to guide students to the most appropriate interactive activities by modeling the student's knowledge and visualizing their learning progress. Such systems should not try to duplicate the administrative services provided by an LMS, such as authentication of users and maintaining scores but at the same time they need to make decisions based on previous history of the students' interactions. So the simplest model of a smart learning object communicating with an LMS breaks down in these situations. Further, both the \"smart objects\" and the eTextbook itself typically generates a rich set of learner analytics data. This information is easily lost if it can only be communicated to the LMS. Better is to think of a modern educational system as an ecosystem of collaborating components, with communications interdependencies that cannot be known until they are brought together.  
In this paper we are trying to move one step closer to this complex ecosystem by presenting a case of more advanced integration, which allows multiple kinds of interactive learning content developed by four different teams to be used transparently with two different advanced content access platforms--OpenDSA and Mastery Grids. In Section 2 we describe in some detail the integration goals of the case study. In Section 3 we detail the four major components involved in the case study: OpenDSA, Mastery Grids, CodeWorkout and the ACOS Advanced Content Server. Section 4 presents technical details for how the integration is implemented. Section 5 presents our reflections on the experience.