US20060068368A1 - System and method for content packaging in a distributed learning system - Google Patents

System and method for content packaging in a distributed learning system Download PDF

Info

Publication number
US20060068368A1
US20060068368A1 US11/209,205 US20920505A US2006068368A1 US 20060068368 A1 US20060068368 A1 US 20060068368A1 US 20920505 A US20920505 A US 20920505A US 2006068368 A1 US2006068368 A1 US 2006068368A1
Authority
US
United States
Prior art keywords
content
student
learning
course
browser
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/209,205
Inventor
Sherman Mohler
Rodney Hing
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US11/209,205 priority Critical patent/US20060068368A1/en
Publication of US20060068368A1 publication Critical patent/US20060068368A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student

Definitions

  • the present invention relates in general to systems and methods for learning over a computer network and in particular to a personalized, network-based, distributed learning system.
  • Distributed learning systems such as the one described in U.S. application Ser. No. 10/090,056, filed Feb. 27, 2002, entitled “SYSTEM FOR DISTRIBUTED LEARNING, provide for the authoring of powerful yet flexible courses of learning. These courses are deployed over wide area computer networks, such as the Internet, to users in order to provide an on-line personalized learning system.
  • Each learning object can be thought of as an instructional course that includes the appropriate instructional content along with testing information for determining whether or not a student has learning the content.
  • SCORM Sharable Content Object Reference Model
  • SCO Sharable Content Object
  • the SCO is a system-independent object that can be used within any SCORM compliant teaching system. More information on the SCORM specification can be found on the Internet at adlnet.org, where the latest version of the SCORM specification is SCORM 2004.
  • One embodiment includes a system for dynamically generating course material for a Sharable Content Object Reference Model (SCORM) compliant learning system.
  • the system includes a first module configured to dynamically generate course material to be taught to a student.
  • the system further includes a second module configured to convert the dynamically generated course material into SCORM compliant course material.
  • SCORM Sharable Content Object Reference Model
  • Another embodiment is a method of generating Sharable Content Object Reference Model (SCORM) compliant course material.
  • the method includes providing a database of data objects.
  • the data objects include course material.
  • the method further includes selecting a theme or style for the course material and applying the theme or style to the data objects to create stylized course material displayed in the theme or style.
  • the method further includes packaging the stylized course material to create SCORM compliant course material.
  • SCORM Sharable Content Object Reference Model
  • FIG. 1 illustrates a block diagram of a distributed learning system, according to aspects of an embodiment of the invention.
  • FIG. 2 illustrates a block diagram of an authoring and management interface system, according to aspects of an embodiment of the invention.
  • FIG. 3 illustrates a block diagram of an internal and external cache system, according to aspects of an embodiment of the invention.
  • FIG. 4 illustrates a block diagram of a delivery engine, according to aspects of an embodiment of the invention.
  • FIG. 5 illustrates a block diagram of an application programming interface layer, according to aspects of an embodiment of the invention.
  • FIG. 6 illustrates a structure diagram of a course structure, according to aspects of an embodiment of the invention.
  • FIG. 7 illustrates a screen display of a lesson display screen, according to aspects of an embodiment of the invention.
  • FIG. 8 illustrates a process flow diagram of a defining learning objectives parameters process, according aspects of an embodiment of the invention.
  • FIG. 9 illustrates a process flow diagram of a dynamic generation of curriculum process, according to aspects of an embodiment of the invention.
  • FIG. 10 illustrates a block diagram of a dynamically generated curriculum system, according to aspects of an embodiment of the invention.
  • FIG. 11 illustrates a process flow diagram of a dynamically generated curriculum process, according to aspects of an embodiment of the invention.
  • FIG. 12 illustrates a block diagram of a dynamically generated curriculum system with external cache, according to aspects of an embodiment of the invention.
  • FIG. 13 illustrates a process flow diagram of a dynamically generated curriculum process with external cache, according to aspects of an embodiment of the invention.
  • FIG. 14 illustrates a block diagram of a list of available active exams retrieval system, according to aspects of an embodiment of the invention.
  • FIG. 15 illustrates a process flow diagram of a list of available active exams retrieval process, according to aspects of an embodiment of the invention.
  • FIG. 16 illustrates a block diagram of an exam commencement system, according to aspects of an embodiment of the invention.
  • FIG. 17 illustrates a process flow diagram of an exam commencement process, according to aspects of an embodiment of the invention.
  • FIG. 18 illustrates a process flow diagram of an exam customization process, according to aspects of an embodiment of the invention.
  • FIG. 19 illustrates a block diagram of content packaging system according to aspects of an embodiment of the invention.
  • FIG. 20 illustrates a process flow diagram of a content packaging process, according to aspects of an embodiment of the invention.
  • Embodiments of the present invention relate to a flexible distributed on-line learning system.
  • the learning system allows for the dynamic creation of teaching materials personally tailored for the needs of a student.
  • dynamically generated instructional content is rendered into static content for delivery to systems configured to read static content.
  • the dynamically rendered content is converted into SCORM compliant content by creating sharable content objects (SCOs) that comply with SCORM standards. These dynamically generated SCOs can then be read by any of the available SCORM compliant system.
  • SCOs sharable content objects
  • embodiments of the learning system provide significant advantages in that the content for each course can be generated dynamically, and then converted into a static format, such as SCOs. This allows content authors to create content that can be easily converted into multiple static formats, while still retaining the ability to quickly and easily modify that content.
  • the instructional content is divided into a series of content objects, each of which contains information for the student.
  • the content objects may include text, pictures, videos, sounds or any combination of these elements.
  • the author chooses a particular style, or format, that is used for displaying the content objects to the student.
  • Each content object can be dynamically rendered using any format chosen by the author.
  • new formats can be developed so that the original content can be given a different look and feel.
  • the content and the style for presenting that content are separate from one another.
  • each content item can thereby be rendered and displayed to a student in any format.
  • Embodiments of the invention add the capability of converting the content that is generated in a particular style into SCORM compliant content.
  • the system creates sharable content objects from the dynamically generated content. These SCOs can then be used within any SCORM compliant system.
  • the system may be used by an author to create a course that is designed to teach U.S. Air Force pilots how to fly an airplane.
  • the course would include a series of content items that explain how to fly an airplane.
  • a style is selected that is appropriate for the Air Force.
  • the Air Force logo might be placed on the top of every page, the text may run along the left side, and any graphics may be placed on the right side.
  • This content is then converted into a SCORM compliant output so that it can be used by the Air Force's on-line teaching system. Once the content is converted into the static SCORM compliant format of SCO's, each of these style choices can only be altered by manually editing each content page.
  • embodiments of the system are not only limited to generating courses having differing styles of content.
  • the Navy may only wish to adapt a portion of the Air Force's content into their Naval Aviator training program. Additionally, the Navy may wish to change the manner in which assessments are provided to the students. All of these changes can be made within the present dynamic system, and then converted into SCORM compliant output when the course is completed.
  • Each course includes at least one Learning Object that includes all of the content items, assessment items, and other required data to carry out a particular learning objective.
  • One learning objective might be to learn how to fly a plane, or program a computer. This is an example of a very broad learning objective.
  • each learning objective may include a defined set of target indicators (TI's).
  • the learning objective could be Visual Basic knowledge and the TI's might include command instructions in Visual Basic or display techniques of Visual Basic.
  • each TI could include an indicator that the student has learned the learning objective.
  • the overall course could be called “How to Program a Computer” or “How to fly an airplane”.
  • Each content item includes information that relates to its TI.
  • related content items might include text pages showing Visual Basic commands.
  • Each page displays a one or more content item.
  • a set of related commands might also be a single content item.
  • content items can be video files, text files or sound files that provide information for the particular target indicator.
  • AI Associated with the content items is one or more assessment items (AI's), which are typically examination questions that test the student's knowledge of the content item. For example, if the content item includes text that teaches how to use the command “PRINT” from Visual Basic, the assessment item might include a question such as “What command is used to print to the printer?” This allows assessment of the student's knowledge of the content item. Obviously, such a test would not necessarily have to be in written form, but could also be performed through video or sound files. Because of the relationship between content items and assessment items, the system can provide a very granular analysis of what a particular student has learned. By providing a set of assessment items that test for knowledge of particular content items, instructions within the system can determine which content items have been learned by the student, and which content items are not known.
  • embodiments of the system can provide varying types of content items to teach the student. For example, if the student cannot answer the question “What command is used to print to the printer?”, the system can then display additional Visual Basic command text, play a video, or play a sound file that instructs the student on the use of the command “PRINT”.
  • the course is presented within a browser software program such as Internet Explorer from Microsoft Corporation, or Netscape Navigator from Netscape Corporation. Once the student has requested the course, the course is presented to the student through the browser software executing on the student's computer system.
  • a browser software program such as Internet Explorer from Microsoft Corporation, or Netscape Navigator from Netscape Corporation.
  • the course is first converted into a SCORM compliant course, and thereafter displayed within a browser to a student.
  • the SCORM standard format is designed to be presented to a user within browser software, such as Microsoft Internet Explorer.
  • API Application Programming Interface
  • An API is a set of routines, protocols, and tools for building software applications.
  • An API facilitates the development of software programs or systems by providing the building blocks that may be utilized in building a software program or system. A programmer can then access and use the API to create or modify a software program or system.
  • Assessment items are queries that may be posed to the student to indicate the student's comprehension of the course material.
  • the assessment items can be content-related questions, such as, for example, true or false questions, multiple choice questions, fill-in-the-blank questions, point and click questions, drag-and-drop questions, free text questions, and the like.
  • Content items refer to the presentation of educational material, including any tools that can deliver or contain educational content.
  • Content items can be in many forms, such as, for example, Microsoft Word documents, Microsoft PowerPoint presentations, Flash animations, streaming video, collaborative work environments, or any tool that can deliver educational content.
  • a course can include one or more learning objects, and is designed to teach a certain curriculum to a student.
  • a course can be designed and presented to students over a network, such as the Internet.
  • Each course may be composed of one or more learning objects that carry out a particular learning objective.
  • Input devices are capable of transmitting information from a user to a computer, for example, a keyboard, rollerball, mouse, voice recognition system or other device.
  • the input device may also be a touch screen associated with the display, in which case the user responds to prompts on the display by touching the screen.
  • the user may enter textual information through the input device such as the keyboard or the touch-screen.
  • Instructions refer to computer-implemented steps for processing information in the system. Instructions can be implemented in software, firmware or hardware and can include any type of programmed step undertaken by components of the system.
  • LAN Local Area Network
  • the Local Area Network may be a corporate computing network, including access to the Internet, to which computers and computing devices comprising the system are connected.
  • the LAN conforms to the Transmission Control Protocol/Internet Protocol (TCP/IP) industry standard.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • the LAN may conform to other network standards, including, but not limited to, the International Standards Organization's Open Systems Interconnection, IBM's SNA, Novell's Netware, and Banyan VINES.
  • Learning objectives refer to major topics, i.e. educational goals, which are typically not easily assessable.
  • the learning objectives may include broad concepts, such as, for example, “Understanding the Use of a Web Browser”.
  • a learning objective typically is separated into smaller conceptual units (target indicators) which can be more easily taught and tested.
  • a learning objective is generally generated by a job task or skills analysis.
  • One or more learning objectives normally form a complete course.
  • a learning object is a data object that includes an accumulated set of materials and assets that address a stated set of learning objectives.
  • the learning object can then be cohesively combined to satisfy a higher level taxonomy of learning objectives.
  • Mastery of course content may be tracked at not only the learning object level, but also at various levels in the learning objective hierarchy.
  • Media refers to images, sounds, video or any other multimedia type data that is entered into the system.
  • the microprocessor may be any conventional general purpose single- or multi-chip microprocessor, such as a Pentium® processor, a Pentium® Pro processor, a 8051 processor, a MIPS® processor, a Power PC® processor, an ALPHA® processor, or other general purpose microprocessor, including those yet to be developed.
  • the microprocessor may be any conventional special purpose microprocessor, such as a digital signal processor or a graphics processor.
  • the microprocessor typically has conventional address lines, conventional data lines, and one or more conventional control lines.
  • a system is comprised of various modules as discussed in detail below.
  • each of the modules may comprise various sub-routines, procedures, definitional statements and macros.
  • Each of the modules are typically separately compiled and linked into a single executable program. Therefore, a description of each of the modules is used for convenience to describe the functionality of certain embodiments of the system.
  • the processes that are undergone by each of the modules may be arbitrarily redistributed to one of the other modules, combined together in a single module, or made available in, for example, a shareable dynamic link library.
  • the system may include any type of electronically connected group of computing systems, including, for example, one or more of the networks from the following non-exhaustive list: Internet, Intranet, Local Area Networks (LAN) or Wide Area Networks (WAN).
  • the connectivity to the network may be, for example, by way of remote modem, Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), Fiber Distributed Datalink Interface (FDDI) or Asynchronous Transfer Mode (ATM).
  • computing devices may be desktop, server, portable, hand-held, wireless, set-top, or any other desired type of configuration.
  • an Internet includes network variations such as public Internet, a private Internet, a secure Internet, a private network, a public network, a value-added network, an Intranet, and the like.
  • network refers to any type of connectivity between computing devices for the transfer of data.
  • the system may be used in connection with various operating systems, such as those from the following non-exhaustive list: UNIX, Disk Operating System (DOS), OS/2, Windows 3.X, Windows 95, Windows 98, Windows NT, including other operating systems yet to be developed. New operating systems and revisions of existing operating systems are continually being developed, and these are also within the scope of the present invention.
  • DOS Disk Operating System
  • OS/2 Windows 3.X
  • Windows 95 Windows 98
  • Windows NT Windows NT
  • New operating systems and revisions of existing operating systems are continually being developed, and these are also within the scope of the present invention.
  • the system may be written in any programming language such as C, C++, BASIC, Pascal, Java, and FORTRAN, and executed under one or more of the many well-known operating systems.
  • C, C++, BASIC, Pascal, Java, and FORTRAN are industry standard programming languages for which many commercial compilers can be used to create executable code.
  • Target indicators are assessable educational sub-topics that are portions of the broader learning objective.
  • Each learning objective may be composed of one or more target indicators.
  • Transmission Control Protocol is a transport layer protocol used to provide a reliable, connection-oriented, transport layer link among computer systems.
  • the network layer provides services to the transport layer.
  • TCP provides the mechanism for establishing, maintaining, and terminating logical connections among computer systems.
  • TCP transport layer uses Internet Protocol (IP) as its network layer protocol.
  • IP Internet Protocol
  • TCP provides protocol ports to distinguish multiple programs executing on a single device by including the destination and source port number with each message.
  • TCP performs functions such as transmission of byte streams, data flow definitions, data acknowledgments, lost or corrupt data re-transmissions and multiplexing multiple connections through a single network connection.
  • TCP is responsible for encapsulating information into a datagram structure.
  • a web browser is a software or hardware device capable of displaying graphical and/or textual information from a web page on a computing device.
  • popular web browsers presently include those commercially available from companies such as Netscape, Microsoft Corporation, and the like.
  • FIG. 1 illustrates a block diagram of one embodiment of a distributed learning system 100 .
  • the distributed learning system 100 includes a delivery engine 105 for delivering content though the system.
  • the delivery engine 105 sends content data to a student's browser 110 via a network 125 .
  • authors can use an authoring system 115 that is linked via the network 125 to the delivery engine 105 to create content.
  • a learning management system 120 communicates with the delivery engine 105 via the network 125 in order to control the flow of content through the system.
  • FIG. 2 illustrates a block diagram of one embodiment of the learning system 100 .
  • the authoring and management interface system 200 includes the delivery engine 105 , the student's browser 110 , the authoring system 115 , the learning management system 120 , and an external content origin server 230 .
  • the delivery engine 105 includes a content delivery database server 205 that stores content items from the authoring system 115 . These content items are developed for eventual delivery to the students as part of a curriculum. As discussed above, these content items can include text, video or sounds that are part of a particular curriculum being taught.
  • the delivery engine 105 also includes an authoring system server 210 , a content delivery API system 215 , a content delivery system 220 , and an external content caching API system 225 .
  • the content delivery database server 205 comprises a database server, such as a SQL server.
  • a database server such as a SQL server.
  • any database system capable of storing and retrieving information such as those commercially available from, for example, the Oracle Corporation or IBM, is within the scope of the present invention.
  • the delivery engine 105 is capable of using the content delivery database server 205 for storing, accessing and retrieving a variety of information.
  • the authoring system server 210 comprises a web server.
  • Web servers which are of widespread use in the technology, are capable of transmitting content over the Internet using one or several Internet language protocols, for example the Hypertext Mark Up Language (HTML) or the Extensible Mark Up Language (XML).
  • HTML Hypertext Mark Up Language
  • XML Extensible Mark Up Language
  • a web server can be configured to accept requests from Internet web browsers and return the appropriate electronic documents pursuant to the request.
  • a number of servers or client-side technologies can be used to increase the power of the web server beyond its ability to deliver standard electronic documents. For example, such technologies include Common Gateway Interface (CGI) scripts, Secure Sockets Layer (SSL) security, and Access Server Pages (ASP's).
  • CGI Common Gateway Interface
  • SSL Secure Sockets Layer
  • ASP's Access Server Pages
  • the authoring system server 210 includes an API used to accept content from external authoring systems.
  • This external content may be XML tagged by the authoring system server 210 in accordance with a predefined data type definition (DTD).
  • the authoring system server 210 tags the incoming content in such a way that the intended target computer is able to identify the purpose of the data. For example, the content may be tagged differently depending on whether the incoming content is an learning object, a TI or CI's associated with a learning object or a TI, etc.
  • the authoring system server 210 is capable of transferring information between the authoring system 115 and the content delivery database server 205 .
  • the authoring system 115 and the authoring system server 210 can use an API that defines XML definitions of data and automatic content procedures. Using the API, the authoring system 115 can create and modify courses on the delivery engine 105 .
  • the content delivery database server 205 in configured to use an import content service to receive information from the authoring system server 210 .
  • the content delivery database server 205 is capable of receiving requests from the authoring system server 210 for storing, accessing and retrieving a variety of information.
  • FIG. 2 illustrates the authoring and management interface system 200 .
  • the content delivery API system 215 transfers information between the learning management system 120 and the content delivery database server 205 .
  • the learning management system 120 and the content delivery API system 215 use an API that defines significant events detected by the system.
  • the significant events include events such as a student's response to an assessment question, a request to activate an exam, a request for authorization, a request for a list of available exams, and the like.
  • the content delivery API system 215 communicates with the content delivery database server 205 by Java DataBase Connectivity (JDBC).
  • JDBC Java DataBase Connectivity
  • the content delivery system 220 exchanges information between content delivery database server 205 and the student's browser 110 .
  • the content delivery system 220 is a web server, although in other embodiments the content delivery system 220 may be other types of computing devices.
  • the student's browser 110 and the content delivery system 220 may communicate via Hypertext Transfer Protocol (HTTP), or by way of other data transfer methods.
  • HTTP Hypertext Transfer Protocol
  • the student's browser 110 and the content delivery system 220 communicate using a secured communications protocol, such as, for example, secured URL, Hypertext Transfer Protocol Secure (HTTPS), or the like.
  • HTTP Hypertext Transfer Protocol Secure
  • the delivery engine 105 includes the external content caching API system 225 .
  • the external content caching API system 225 communicates with an external content origin server 230 to provide educational content, from sources external to the delivery engine 105 , to the student's browser 110 .
  • the student's browser 110 and the external content origin server 230 advantageously use URL redirects from the original server to communicate. Therefore, the student's browser 110 may receive content directly from the delivery engine 105 , or the student's browser 110 may receive content indirectly from the delivery engine 105 via the external content origin server 230 .
  • the learning management system 120 also communicates with the student's browser 110 .
  • a student using the student's browser 110 may communicate with the learning management system 120 to gain access to the delivery engine 105 . Once access is gained, the student's browser 110 may retrieve content, exams, and other services available through the delivery engine 105 .
  • the student's browser 110 and the learning management system 120 may communicate using a secured communications protocol, such as, for example, secured URL, Hypertext Transfer Protocol Secure (HTTPS), or the like.
  • a secured communications protocol such as, for example, secured URL, Hypertext Transfer Protocol Secure (HTTPS), or the like.
  • HTTPS Hypertext Transfer Protocol Secure
  • the content items in the learning system 100 may be stored in a database structure in the content delivery database server 205 . In this way, the content in the system is reusable.
  • the content items or target indicators in the database may be reused for placement in another target indicator. Thus, any content or course developer can use the database and utilize the content items.
  • FIG. 3 illustrates one embodiment of a block diagram of an internal and external cache system 300 .
  • the delivery engine 105 delivers content to the student's browser 110 through an internal content cache 305 and/or an external content cache 310 .
  • the external content cache 310 may be utilized if provided, but it need not be provided for the system to operate.
  • the delivery engine 105 , the external content cache 310 , and the student's browser's 110 communicate with each other via the network 125 .
  • the internal content cache 305 and the external content cache 310 provide one or more content items 315 A- 315 N to the student's browser 110 .
  • a single content item may be referred to as, for example, the ‘content item 315 A’ or the ‘content item 315 B’, specifying a particular one content item from the list of content items 315 A- 315 N shown in FIG. 3 .
  • the ‘content item 315 N’ refers to the last content item in the list, where ‘N’ indicates that any number of content items may be included.
  • the ‘content items 315 A- 315 N’ refer to the list of content items, which may be comprised of one or more individual content items.
  • the student's browser 110 includes a display area 320 that can be viewed by the student.
  • the display area 320 includes one or more text content 325 and one or more content items 315 A- 315 N.
  • the display area 320 displays a content page 340 created by the delivery engine 105 .
  • the content page 340 includes one or more text contents 325 and one or more content items 315 A- 315 N.
  • the content page 340 includes style sheets for formatting the content in a consistent manner, even if different types of content are delivered.
  • the delivery engine 105 includes the internal content cache 305 , a content cache API layer 330 , and a XSLT process system 335 .
  • XSLT is a language used for transforming XML documents into other XML documents.
  • the content items 315 A- 315 N can reside on the internal content cache 305 or the external content cache 310 .
  • the delivery engine 105 transmits the content page 340 to the student's browser 110 where a portion of the content items 315 A- 315 N are provided by the internal content cache 305 and where a portion of the content items 315 A- 315 N are provided by the external content cache 310 .
  • the XSLT process system 335 applies the designated style sheet to the content page 340 for display on the display area 320 of the student's browser 110 .
  • Content items and assessment items are capable of being dynamically rendered within the student's browser 110 from the delivery engine 105 .
  • the content items and assessment items are capable of being stored in a database.
  • the system can use a target indicator map that associates a learning objective with one or more target indicators.
  • the system also provides a page map that describes the content items to be displayed in a page. Once the page map is accessed, the page request is submitted to the XSLT process 335 to determine the style sheet to be used for the particular content page 340 . Once the style sheet is determined, the web page is presented to the student's browser 110 . If the page contains additional embedded items, the system makes additional requests for the additional embedded items. This process can also be followed when presenting assessment exams and items within the exams.
  • content items and assessment items that are embedded in a page may be addressed with a Uniform Resource Locator (URL) or by Hypertext Transfer Protocol (HTTP). Therefore, the content can be physically located in a distributed cache environment with a server that controls and maps the cached content objects and can issue URL redirect commands for embedded objects with the dynamically rendered page.
  • the content cache API in the delivery engine 105 uses the address of the origin server to forward requests for embedded objects to the origin server.
  • the content delivery engine 105 renders the supported content item types and question types imported from the external authoring systems.
  • the object types can include dynamic object types.
  • the content delivery engine 105 preserves the presentation look and feel created by the author or instructional designer.
  • the content delivery engine 105 further assembles and delivers assessment and course media elements.
  • the elements can be expressed in various forms, such as, for example, Extensible Markup Language (XML) or any Multipurpose Internet Mail Extensions (MIME) types, such as, for example, text, multi-part, message, applications, image, audio, video, model, and the like.
  • XML Extensible Markup Language
  • MIME Multipurpose Internet Mail Extensions
  • the supported content item types may include those from the following non-exhaustive list: description, question, image, list, HTML, table, slide show, summary, and the like.
  • the system is capable of supporting a variety of assessment types, such as, for example, true or false questions, multiple choice questions, fill-in-the-blank questions, point and click questions, drag and drop questions, free text questions, and the like.
  • the content delivery engine 105 is capable of adding specific themes to the content depending on the author or LMS preferences, thus preserving a constant look and feel.
  • the look and feel may include factors such as colors, header font, button shapes, university logo, and the like.
  • FIG. 4 illustrates a block diagram of the delivery engine 105 , according to aspects of an embodiment of the invention.
  • the delivery engine 105 includes the content delivery database server 205 .
  • the content delivery database server 205 includes a curriculum database 505 that stores certain data relating to the student's curriculum.
  • the curriculum database 505 may include a table of content items 515 which can include video, text, images, and HTML pages that relate to one or more target indicators.
  • a table of associated assessment items 520 is also included within the curriculum database 505 .
  • the table of assessment items 520 can include stored questions 521 that can be transmitted to the student's browser 110 .
  • an assessment database 510 may include an assessment table 540 that maintains a link between each content item and its associated assessment items.
  • the assessment table 540 comprises information on content items, assessment item, displayed pages, and learning objectives.
  • FIG. 5 illustrates a block diagram of an application programming language interface layer 600 , according to aspects of an embodiment of the invention.
  • an API layer 605 encompasses a meta data framework 610 .
  • the meta data framework 610 encompasses a content delivery database 615 .
  • the authoring system 115 , the learning management system 120 , and an external caching system 620 are capable of communicating with the meta data framework 610 .
  • the function of the API layer is to allow the content delivery engine 105 to communicate with any external authoring system, learning management system, or content caching scheme.
  • the system has published and defined API's that can be used by external systems to communicate with the content delivery engine 105 .
  • the API layer 605 enables the exchange of data between the content delivery engine 105 and external authoring systems in a standard format.
  • the data may include both curriculum and assessment content.
  • the API defines the process for receiving an export package from a designated FTP site.
  • the API also defines the import content in XML format via the authoring to delivery API, including curriculum content, assessment content and the associated meta data for both types of content. If the API detects errors during the communication, the content may be sent to the authoring system, via the API, for correction or other appropriate action.
  • the API enables delivery to learning management conversations.
  • the delivery database includes information such as course content, assessment questions, assessment exams, raw exam results, student profiles and other information that the learning management system 120 is able to display to the student, processing by the management system (such as exam results) or tracking a learner's progress through the course.
  • the delivery engine 105 can communicate with one or more communication schemes, such as, for example, synchronous and asynchronous communications paths.
  • An asynchronous conversation includes communications, such as, for example, the delivery engine 105 reporting back to the management system regarding the assessment question responses of a student taking an exam.
  • a synchronous conversation includes communications, such as, for example, a student's browser 110 requesting a list of available exams from the delivery engine 105 .
  • the API can additionally support content caching.
  • content When content is imported into the database 615 , the content may be stored as an anatomic item that is part of a page. Since the HTML process of building pages is a dynamic process, the content for a page does not need to be stored in the database.
  • the delivery engine 105 can access the content using a URL address, and thus the content need not be stored in the database. Therefore, the content can be placed at various locations around a network, and accessed by the content delivery engine 105 through the URL address of the content.
  • FIG. 6 illustrates a structure diagram of a course structure 700 , according to aspects of an embodiment of the invention.
  • a course 705 A, 705 B comprises one or more learning objectives 710 A, 710 B.
  • Each of the learning objectives 710 A, 710 B comprises one or more target indicators 715 A, 715 B.
  • Each of the target indicators 715 A, 715 B comprises one or more content items 315 A, 315 B.
  • Each of the content items 315 A, 315 B comprises one or more assessment items 725 A- 725 D.
  • Assessments items may also be defined independently of any particular learning objects. Assessment items may thus be related to one or more learning items to enable reuse of assessment items and to allow the creation of customized learning curriculums having relating one or more assessment items to multiple learning objects.
  • assessment items 725 A- 725 D can also be associated with the target indicators 715 A, 715 B directly.
  • Assessment items 725 A- 725 D may be associated with the learning objectives 710 A, 710 B by implementing a two-phase adaptive testing process. For the sake of example, FIG.
  • FIG. 6 shows two courses 705 A, 705 B, two learning objectives 710 A, 710 B for each course 705 A, 705 B, two target indicators 715 A, 715 B for each learning objective 710 A, 710 B, two content items 315 A, 315 B for each target indicator 715 A, 715 B, and four assessment items 725 A- 725 D for each content items 315 A, 315 B.
  • the number of each of these items actually shown is for the purpose of example only, and more or fewer of each of these items may be present in the various embodiments of the course structure 700 .
  • each course 705 A, 705 B is composed from a set of learning objectives 710 A, 710 B.
  • Learning objectives 710 A, 710 B include major topics that are not directly assessable.
  • the learning objectives 710 A, 710 B may include broad concepts, such as, for example, “Understanding the Use of a Web Browser”. These concepts may be broken down into smaller conceptual units that can be tested and directly assessed.
  • the learning objectives 710 A, 710 B are generally generated by a job task or skills analysis. Together, the learning objectives 710 A, 710 B form the course 705 A, 705 B.
  • Target indicators 715 A, 715 B include assessable subtopics. For example, if a learning objective 710 A, 710 B is “Understanding the Use of a Web Browser”, a specific target indicator 715 A, 715 B may be, for example, “Understanding How to Enter a URL”, or “Understanding How to Print from a Web Browser”, or the like.
  • Each target indicator 715 A, 715 B may include one or more content items 315 A, 315 B.
  • Content items 315 A, 315 B can be in many forms, such as, for example, Microsoft Word documents, Microsoft PowerPoint presentations, Flash animations, streaming video, collaborative work environments, or any similar tool that can deliver educational content.
  • Each content item 315 A, 315 B is developed to address a specific target indicator 715 A, 715 B.
  • Different media elements can cover the same educational content. Thus, the media elements can later be matched with specific learning preferences or styles. For example, primarily text-oriented students may receive more text intensive learning materials, whereas primarily visually-oriented students may receive more media intensive materials. Also, different media elements can be used to reinforce particularly difficult or important concepts.
  • a repository of content items 315 A, 315 B may be built to address an individual target indicator 715 A, 715 B.
  • the content items 315 A, 315 B may include anatomic pieces of information that each address the assessable goal of the target indicator 715 A, 715 B.
  • Each content item 315 A, 315 B can stand alone or combine with other content items 315 A, 315 B associated with the specific target indicator 715 A, 715 B.
  • the content delivery engine 105 can then render the content items 315 A, 315 B into a presentation, such as an HTML page, and transmit the presentation to the student's web browser. A presentation of content items then becomes a content item itself.
  • the assessment items 725 A- 725 D include questions that may be asked of the student.
  • Assessment items 725 A- 725 D can be stored in a database.
  • Assessment items 725 A- 725 D can also be associated within the database at the content item level, the page level, or the target indicator level.
  • An assessment generation engine is capable of dynamically creating assessments for each student on demand.
  • the output of the generation process can include a set of assessment questions in presentation format.
  • the instructor may set assessment attributes in an active assessment page.
  • the attributes may include factors, such as, for example, the duration of the test, the number of attempts (at the assessment question) allowed by the student, the randomization of questions, inclusion of Beta test items for the purpose of analyzing the behavior of test question before it is placed in the active test question pool, and the like.
  • the author of the course can set permissions for granting and restricting course instructor access to modify the default attribute values.
  • the delivery engine 105 is capable of using an exam activation screen to enable the course instructor to set or change the assessment attributes to which the course instructor has been granted permission to modify.
  • the attributes may include assessment start and end time or date, duration of the test, the number of attempts allowed by the student, randomization of questions, criteria of students qualified to take assessment, question threshold (i.e. the minimum assessment items per content component missed to get prescription), and other attributes.
  • the delivery engine 105 is configured to maintain the raw assessment responses (responses are stored in relation to the student) and the overall response map (response map is stored in relation to the question).
  • the external management systems can request student exam information through appropriate calls in the management API.
  • the management system using the requested student exam information, can determine the score scale for proficiency of the student.
  • FIG. 7 illustrates a screen display of a lesson display screen 800 , according to aspects of an embodiment of the invention.
  • the lesson display screen 800 includes the content page 340 , which displays teaching information to the student.
  • the content page 340 includes at least one text content 325 and one or more other content items 315 A- 315 N.
  • the content items 315 A- 315 N can include text, video or sound files that relate to the text content 325 .
  • each of the content items 315 A- 315 N and text content 325 relate to a single target indicator. For example, each would provide a different way to teach a student how to program the “PRINT” command in Visual Basic.
  • the content page 340 can include other controls, such as a “MORE INFO” button 802 or a “NEXT” button 804 . Selecting the button 802 can bring up additional curriculum relating to the target indicator being taught.
  • content items 315 A- 315 N with varying levels of difficulty can be provided so that the student can challenge themselves with more difficult topics. The system thereafter is capable of tracking the progress and determining the level of the student's knowledge by analyzing the content items they viewed, and their score on assessment items associated with the content items.
  • FIG. 8 is a flow diagram illustrating one embodiment of a process 900 for defining learning objectives parameters.
  • This embodiment of the defining learning objectives parameters process 900 starts at Step 905 .
  • the author defines a learning objective.
  • the author determines the target indicator of the learning objective.
  • the author determines the content item that teaches the target indicator.
  • the author determines an assessment item that tests for the learned content item.
  • Step 930 the author is prompted to indicate whether the author wishes to include more assessment items.
  • the process proceeds to Step 925 . If, at Step 930 , the user does not wish to include more assessment items, the process proceeds to Step 935 .
  • Step 935 the author is prompted to indicate whether the author wishes to include more content items.
  • Step 935 if the author wishes to include more content items, the process proceeds to Step 920 . If, at Step 935 , the author does not wish to include more content items, the process proceeds to Step 940 .
  • Step 940 the author is prompted to indicate whether the author wishes to include more target indicators.
  • Step 915 if the author wishes to include more target indicators, the process proceeds to Step 915 . If, at Step 940 , the author does not wish to include more target indicators, the process proceeds to Step 945 .
  • Step 945 the author is prompted to indicate whether the author wishes to include more learning objectives.
  • Step 945 if the author wishes to include more learning objectives, the process proceeds to Step 910 . If, at Step 945 , the author does not wish to include more learning objectives, the process proceeds to Step 950 . At Step 950 , the defining learning objectives parameters process 900 is complete.
  • FIG. 9 illustrates one embodiment of a process 1000 for dynamically generating a curriculum for a student.
  • This embodiment of the dynamic generation of curriculum process 1000 starts at Step 1005 .
  • the student's browser issues a DNS look-up for location of a content item.
  • the DNS returns the IP address of a content server.
  • the student's browser issues an HTTP request to the content server.
  • the content server issues a request to the content service to get XML data for the student's page.
  • the content server issues a request to the content service to retrieve XML data for the student's page at Step 1030 , the content service communicates with the delivery database to retrieve the requested XML data corresponding to the content.
  • the delivery database returns the requested data. After the delivery database returns the requested data, the process proceeds to Step 1040 .
  • Step 1040 if all data for page is not delivered, the process proceeds to Step 1030 . If, at Step 1040 , all content data for the page was delivered to the student's browser, the process proceeds to Step 1045 .
  • the content service returns XML data for the page as requested. After the content service returns XML data for the page as requested, at Step 1050 , the content delivery web server processes XML data and produces an HTML page. After the content delivery server web server processes XML data and produces the HTML page, at Step 1055 , the produced HTML page is returned to the student's browser. After the produced HTML page is returned to the student's browser, the process proceeds to Step 1060 .
  • Step 1060 if there are no embedded resources in the page, the process proceeds to Step 1070 . If, at Step 1060 , there are embedded resources in the page, the process proceeds to Step 1065 . At Step 1065 , an HTTP request is made for each embedded resource. After the HTTP request is made for each embedded resource, the process proceeds to Step 1070 . At Step 1070 , the dynamic generation of curriculum process 1000 is complete.
  • FIG. 10 illustrates one embodiment of a system 1100 that dynamically generates a curriculum.
  • this embodiment of the dynamically generated curriculum system 1100 includes the student's browser 110 , a DNS services module 1105 , the content delivery system 220 , the content delivery database server 205 , a content service 1115 module, and a delivery database 1120 .
  • the student's browser 110 and the DNS services module 1105 communicate by transmitting DNS items.
  • the student's browser 110 and the content delivery system 220 communicate via HTTP.
  • the content delivery system 220 and the content service module 1115 communicate by Remote Method Invocation (RMI).
  • the content delivery system 220 also communicates with the delivery database 1120 .
  • the content service 1115 and the delivery database 1120 are capable of communicating via JDBC.
  • the content delivery database server 205 communicates with the content service 1115 and the delivery database 1120 .
  • the delivery database 1120 is a database such as those commercially available from Oracle, or the like.
  • FIG. 11 illustrates one embodiment of a process 1200 for dynamically generating a curriculum.
  • This embodiment of the dynamically generated curriculum process 1200 starts at Step 1205 .
  • the student's browser issues a DNS lookup for location of the content delivery system (CDS) web server.
  • the DNS returns an IP address for the CDS web server to the student's browser.
  • CDS content delivery system
  • the student's browser issues an HTTP request to the CDS web server for the requested curriculum page.
  • the CDS web server issues a request to the content service to the get the XML data for the page.
  • the content service communicates with the delivery database to retrieve the XML data.
  • Step 1235 After the content service communicates with the delivery database to retrieve the XML data, at Step 1235 , the delivery database returns the requested data. After the delivery database returns the requested data, the process proceeds to Step 1240 . At Step 1240 , if all the data for the page is not obtained, the process proceeds to Step 1230 . If, at Step 1240 , all the data for the page is obtained, the process proceeds to Step 1245 . At Step 1245 , the content service returns the XML data for the page as requested. After the content service returns the XML data for the page as requested, at Step 1250 , the CDS web server process the XML data and produces an HTML page, which is returned to the student's browser. The process proceeds to Step 1255 .
  • Step 1255 If, at Step 1255 , the page has embedded resources, HTTP requests are made for each embedded resource. After the HTTP requests are made for each embedded resource, the process proceeds to Step 1260 . If, at Step 1255 , the page does not have embedded resources, the process proceeds to Step 1260 . At Step 1260 , the dynamically generated curriculum process 1200 is complete.
  • FIG. 12 is a block diagram showing one embodiment of a dynamically generated curriculum system with external cache 1300 .
  • the dynamically generated curriculum system with external cache 1300 includes the student's browser 110 , the DNS services 1105 , the content delivery system 220 , the content delivery database server 205 , the content service 1115 , the delivery database 1120 , the external content origin server 230 , and an external caching scheme 1305 .
  • the student's browser 110 and the DNS services 1105 communicate by transmitting DNS items.
  • the student's browser 110 and the content delivery system 220 communicate via HTTP.
  • the content delivery system 220 and the content service 1115 communicate by Remote Method Invocation (RMI).
  • the content delivery system 220 also communicates with the delivery database 1120 .
  • the content service 1115 and the delivery database 1120 are capable of communicating via JDBC.
  • the content delivery database server 205 communicates with the content service 1115 and the delivery database 1120 .
  • the student's browser 110 and the external content origin server 230 communicate via HTTP.
  • the external content origin server 230 transmits commands to the external caching scheme 1305 , and the external caching scheme 1305 transmits, via HTTP, data to the student's browser 110 .
  • the delivery database 1120 is a database such as those commercially available from Oracle, or the like.
  • FIG. 13 illustrates one embodiment of a process 1400 for dynamically generating a curriculum with external cache.
  • This embodiment of the dynamically generated curriculum process with external cache 1400 starts at Step 1405 .
  • the student's browser issues a DNS lookup for the location of the content delivery system (CDS) web server.
  • the DNS returns an IP address for the CDS web server to use with the student's browser.
  • CDS content delivery system
  • the student's browser issues an HTTP request to the CDS web server for the requested curriculum page.
  • the CDS web server issues a request to the content service to the get the XML data for the page.
  • the content service communicates with the delivery database to retrieve the XML data.
  • the delivery database returns the requested data.
  • Step 1440 if all the data for the page is not obtained, the process proceeds to Step 1430 . If, at Step 1440 , all the data for the page is obtained, the process proceeds to Step 1445 .
  • Step 1445 the content service returns the XML data for the page as requested. After the content service returns the XML data for the page as requested, at Step 1450 , the CDS web server processes the XML data and produces an HTML page, which is returned to the student's browser. The process proceeds to Step 1455 . If, at Step 1455 , the page has embedded resources, HTTP requests are made for each embedded resource.
  • the URL of the embedded resources are modified based on the location of the external caching origin server.
  • the process proceeds to Step 1460 . If, at Step 1455 , the page does not have embedded resources, the process proceeds to Step 1460 .
  • the student's browser issues an HTTP request for the resource from the new origin server determined and coded into the URL in Step 1450 .
  • the origin server issues an HTTP request to redirect the student's browser to point the browser to its internal caching scheme.
  • the origin server issues the HTTP request to redirect to the student's browser to point the browser to its internal caching scheme
  • the process proceeds to Step 1470 .
  • the dynamically generated curriculum process with external cache 1400 is complete.
  • FIG. 14 illustrates a block diagram of a list of available active exams retrieval system 1500 , according to aspects of an embodiment of the invention.
  • the list of available active exams retrieval system 1500 includes the student's browser 110 , the DNS services 1105 , the content delivery system 220 , the learning management system 120 , the content service 1115 , the delivery database 1120 , the content delivery database server 205 , the external content origin server 230 , and the external caching scheme 1305 .
  • the student's browser 110 and the DNS services 1105 communicate by transmitting DNS items.
  • the student's browser 110 and the content delivery system 220 communicate via HTTP.
  • the content delivery system 220 and the content service 1115 communicate by Remote Method Invocation (RMI).
  • the content delivery system 220 and the delivery database 1120 communicate via JDBC.
  • the content service 1115 and the delivery database 1120 communicate using JDBC.
  • the content delivery database server 205 is capable of communicating with the content service 1115 and the delivery database 1120 .
  • the learning management system 120 and the content delivery system 220 can communicate using RMI.
  • the student's browser 110 and the external content origin server 230 communicate via HTTP.
  • the external content origin server 230 is capable of transmitting commands to the external caching scheme 1305 , and the external caching scheme 1305 transmits, via HTTP, data to the student's browser 110 .
  • the delivery database 1120 is a database such as those commercially available from Oracle, or the like.
  • FIG. 15 illustrates a process flow diagram of a list of available active exams retrieval process 1600 , according to aspects of an embodiment of the present invention.
  • the list of available active exams retrieval process 1600 starts at Step 1605 .
  • the student's browser issues a DNS lookup for the location of the content delivery system (CDS) web server.
  • the DNS returns an IP address for the CDS web server to use with the student's browser.
  • CDS content delivery system
  • the student's browser issues an HTTP request to the CDS web server for the list of exams page.
  • the CDS web server issues a request to the management system to get the exam activation information for the particular user.
  • the management system returns the exam activation information to the CDS web server.
  • the CDS web server requests information from the delivery database about the exam.
  • the delivery database returns the exam information to the CDS web server.
  • the URL of the embedded resources may be customized based on the location of the external caching origin server.
  • the CDS web server returns the dynamic exam list HTML page to the student's browser.
  • the process proceeds to Step 1650 .
  • Step 1650 if the page has embedded resources, HTTP requests are made for each embedded resource, and the process proceeds to Step 1655 . If, at Step 1650 , the page has no embedded resources, the process proceeds to Step 1655 .
  • Step 1655 if external caching is not used, the process proceeds to Step 1670 . If, at Step 1655 , external caching is used, the process proceeds to Step 1660 .
  • the student's browser issues an HTTP request for the resource from the new origin server determined and coded into the URL in Step 1640 .
  • the origin server issues an HTTP redirect to the student's browser to point the browser to its internal caching scheme.
  • the origin server issues the HTTP redirect to the student's browser to point the browser to its internal caching scheme
  • the process proceeds to Step 1670 .
  • Step 1670 the list of available active exams retrieval process 1600 is complete.
  • FIG. 16 illustrates a block diagram of an exam commencement system 1700 , according to aspects of an embodiment of the invention.
  • the exam commencement system 1700 includes the student's browser 110 , the DNS services 1105 , the content delivery system 220 , the content service 1115 , the delivery database 1120 , the content delivery database server 205 , the external content origin server 230 , the external caching scheme 1305 , and a session server 1705 .
  • the student's browser 110 and the DNS services 1105 communicate by transmitting DNS items.
  • the student's browser 110 and the content delivery system 220 communicate via HTTP.
  • the content delivery system 220 and the content service 1115 communicate by JDBC.
  • the content delivery system 220 and the delivery database 1120 communicate using JDBC.
  • the content service 1115 and the delivery database 1120 communicate using JDBC.
  • the content delivery database server 205 communicates with the content service 1115 and the delivery database 1120 .
  • the session server 1705 and the content delivery system 220 communicate by JDBC.
  • the student's browser 110 and the external content origin server 230 communicate via HTTP.
  • the external content origin server 230 transmits commands to the external caching scheme 1305 , and the external caching scheme 1305 transmits, via HTTP, to the student's browser 110 .
  • the delivery database 1120 is a database such as those commercially available from Oracle, or the like.
  • FIG. 17 illustrates a process flow diagram of an exam commencement process 1800 , according to aspects of an embodiment of the invention.
  • This embodiment of the exam commencement process 1800 starts at Step 1805 .
  • the student's browser issues a DNS lookup for the location of the content delivery system (CDS) web server.
  • the DNS returns an IP address for the CDS web server to use with the student's browser.
  • the DNS returns an IP address for the CDS web server to use with the student's browser
  • the student's browser issues an HTTP request to the CDS web server to start the selected exam.
  • the CDS web server requests information from the delivery database about the exam.
  • the delivery database After the CDS web server requests information from the delivery database about the exam, at Step 1830 , the delivery database returns the exam information to the CDS web server. After the delivery database returns the exam information to the CDS web server, at Step 1835 , the CDS web server requests a new session from the session server. After the CDS web server requests a new session from the session server, at Step 1840 , a new session is created by the session server and returned to the CDS web server. After the new session is created by the session server and returned to the CDS web server, at Step 1845 , the CDS web server issues a request to the content server to get the XML data for the page. After the CDS web server issues a request to the content server to get the XML data for the page, at Step 1850 , the content service communicates with the delivery database to retrieve the XML data.
  • Step 1855 the delivery database returns the requested data to the content service, and the process proceeds to Step 1860 .
  • Step 1860 if all the data is not obtained, the process proceeds to Step 1850 . If, at Step 1860 , all the data is obtained, the process proceeds to Step 1865 .
  • Step 1865 the content service returns the XML data for the pages as requested.
  • the CDS web server returns the dynamic exam HTML page to the student's browser. If, at Step 1870 , the page has embedded resources, subsequent HTTP requests are made for each embedded resource. The process proceeds to Step 1875 .
  • Step 1875 the URL of the embedded resources based on the location of the external caching origin server, and the process proceeds to 1876 . If, at Step 1875 , external caching is not used, the process proceeds to Step 1885 .
  • Step 1876 the student's browser issues an HTTP request for the resource from the new origin server determined and coded into the URL in Step 1840 . After, the student's browser issues the HTTP request for the resource from the new origin server, at Step 1880 , the origin server issues an HTTP redirect to the student's browser to point the browser to the internal caching scheme. After the origin server issues the HTTP redirect to the student's browser to point the browser to the internal caching scheme, the process proceeds to Step 1885 . At Step 1885 , the exam commencement process 1800 is complete.
  • FIG. 18 illustrates a process flow diagram of an exam customization process 1900 , according to aspects of an embodiment of the invention.
  • This embodiment of the exam customization process 1900 starts at Step 1905 .
  • the student using the student's browser, accesses the course. After completing the course, the student partakes in an exam. After the student partakes in the exam, at Step 1915 , the student's results in the exam are recorded. After the student's results in the exam are recorded, the process proceeds to Step 1920 .
  • Step 1920 if the student has successfully completed the course, the process proceeds to Step 1935 . If, at Step 1920 , the student has not successfully completed the course, the process proceeds to Step 1925 .
  • a new target indicators content map for the course is created according to the student's proficiency in the exam at Step 1910 .
  • the new target indicators content map for the course is created, at Step 1930 , using the results of the exam at Step 1910 and the new target indicators content map created in Step 1925 , a new custom course is created for the particular student.
  • the process proceeds to Step 1910 .
  • the exam customization process 1900 is complete.
  • the system dynamically creates a course before presenting the course to the student. Therefore, in the same manner, the system is able to create supplementary courses based upon the student's proficiency in the course exam. In this way, the courses presented to a student may be personalized for that student and to that student's learning progress.
  • the course content may be presented to a student through an HTML page containing one or more content items.
  • a course can be created to address the student's proficiency in the course exam.
  • the system creates a map of target indicators, content items, and pages specific for the particular student based on the student's failed assessment items.
  • the system is capable of storing the map in the student's profile.
  • the system provides each student with a course based on the course content not mastered by the student.
  • the course content may be packaged into static or otherwise sharable forms, such as a Sharable Content Object as defined by the SCORM specification, e.g., SCORM version 1.2, 2004, or later versions, such as are available on the Internet at adlnet.org.
  • FIG. 19 illustrates a block diagram of one embodiment of a content packaging system 2000 that can be used within a learning management system.
  • the content packaging system includes the content delivery engine 105 and content delivery database server 205 that were previously described.
  • the content delivery engine 105 may include modules such as a content packaging interface module 2002 , a SCO rendering service module 2010 , a dynamic delivery service 2012 , and a rendering service 2014 .
  • modules such as a content packaging interface module 2002 , a SCO rendering service module 2010 , a dynamic delivery service 2012 , and a rendering service 2014 .
  • One or more of the modules 2002 , 2010 , 2012 , and 2014 may be configured as services operating in one or more threads or processes within the system 2000 .
  • FIG. 20 illustrates a process flow diagram of a content packaging process 2050 , according to aspects of an embodiment of the invention.
  • the process 2050 begins at step 2052 , in which a content package, such as a SCO, is configured.
  • the content packaging interface 2002 provides a web page to a user as the interface for configuring the content package.
  • the interface module 2002 may provide for specific learning content to be specified, e.g., a course.
  • the interface module 2002 may provide for selection of the course version, language, a format, and a user type.
  • a course, along with a specific version and language for the course is the basic learning content rendered into a SCO.
  • the interface may also include selection of rendering options including a particular theme and a particular style.
  • content may be specified at any level of the course hierarchy.
  • the theme and style may be specified in terms of XSLT.
  • the cross SCO linking may be lost if, e.g., the SCORM format does allow such corresponding linkage.
  • theme and style for a course allows the content to be packaged into the SCO in a form that is customized for a particular user or group of users.
  • the content may be customized for specific providers of the content, or the organization providing the content.
  • branding allows the same learning content to be provided in a variety of different settings and to different groups of users without having to edit or otherwise customize the actual learning content.
  • the theme and style associated with the content packaging allows the same learning content to be rendered into forms suitable for particular users and their applications, e.g., for different output or input devices.
  • SCO's may be rendered from learning objects to HTML in order for an organization can take advantage of SCORM compliant output.
  • This same content may also be delivered in other styles and themes to a device such as personal digital assistant (PDA), cellular telephone, portable computer, etc. that is used in the field.
  • PDA personal digital assistant
  • the presentation and general interface to the learning content may thus be rendered in a variety of formats so as to be optimized for devices such as PDAs and cell phones that have smaller displays and/or touch screen inputs.
  • the authored content does not need to be altered in order to provide content objects to a user in these variety of formats and configurations.
  • a manifest of the learning content is generated.
  • the manifest identifies the learning content specified for the content package along with supporting metadata, e.g., administrative metadata, describing that content.
  • the SCO rendering service 2010 generates an IMS manifest as well-formed XML.
  • a SCORM package contains a manifest file that declares the contents of the package and is set up to describe the order in which the SCOs within that package are to be delivered. It also tells the Learning Management System where to find the SCOs themselves.
  • the physical resources represented by the SCO can be physically included in the package, or they can be referenced externally by the package.
  • the manifest is valid with respect to the IMS Content Packaging XML Schema Definition (XSD), such as Version 1.1.2.
  • the manifest can also be valid with respect to the ADL Content Packaging XML Schema Definition (XSD), such as Version 1.2.
  • Appendix A includes an exemplary IMS manifest as produced by one embodiment of the system described herein.
  • Appendix B includes an exemplary manifest metadata file as produced by an embodiment of the invention.
  • runtime scripts are generated for the package.
  • the SCO rendering service 2010 generates and references SCO runtime scripts.
  • the course e.g., learning object, theme, and style are retrieved.
  • the SCO rendering service 2010 requests the learning object, the theme, and the style data from the dynamic delivery service 2012 .
  • the dynamic delivery service may then request the data from the rendering service 2014 .
  • the rendering system 2014 requests the learning object from the XML learning object store, e.g., content delivery database server 205 .
  • the static learning content is generated based on the chosen theme, style, and other parameters.
  • the rendering service 2014 renders the learning content as SCORM compliant HTML, including support for “runtime” calls in the static HTML.
  • SCO information is applied to the IMS manifest. In one embodiment, this is performed by the SCO rendering service 2010 . In one embodiment, this includes identifying the learning resources included in the SCO.
  • a SCO metadata file is generated. In one embodiment, the SCO rendering service 2010 generates the SCO metadata file. Appendix C includes an exemplary SCO metadata file as produced by one such embodiment.
  • the learning assets included in the SCO are organized into structures according to the IMS manifest.
  • the SCO rendering service 2010 organizes the learning assets into the appropriate structure as per the IMS manifest.
  • IMS content packaging is applied.
  • the SCO rendering service applies the IMS content packaging.
  • This content packaging may include formatting data into a Package Interchange File (PIF), e.g. as in the ADLCP-PIF1 conformance requirement, e.g., compatibility with PKZIP Version 2.04g.
  • This formatting may include compressing the data into a format compatible with such a standard.
  • the manifest file preferably is named “imsmanifest.xml.” Supporting control documents may be placed in the root of the PIF.
  • the content package preferably contains at least one SCO or asset as defined in the SCORM Aggregation Model.
  • Learning resources identified in the manifest are preferably conformant with the SCO Run-Time Conformant, e.g., SCO-RTE1 standard.
  • the package may be delivered through the interface 2002 for subsequent execution.
  • learning content may be maintained in a “pristine” state, with a minimum of formatting and styling contained within each content object.
  • the content may then be packaged into a SCO using specific formats, styles, and themes such that the same learning content may rendered into different SCOs, e.g., for use in different settings such as within specific organizations.
  • a different SCO with an organizationally or personally customized look and feel may be used in each of these settings without affecting the learning content itself, only its rendering. This encourages learning content reuse in situations where lack of customized feel would be aesthetically problematic, e.g., where content is branded for a different organization or where a supplier of branded equipment requires custom branding of static content.
  • Learning content reuse is also enabled where the learning content is provided in different formats, e.g., different form factors such as a large screen computer and a small screen PDA, that would otherwise require maintaining separate instructional content.

Abstract

An online learning system for teaching students is described. One feature of the system is the capability of storing course material in a form with a minimum of formatting and styling contained within each content object. The content may then be packaged into a SCORM compliant objects (SCO) using specific formats, styles, and themes such that the same learning content may rendered into different SCOs, e.g., for use in different settings such as within specific organizations. Authors of course material can thereby use material that was created for use in different settings or that was created to be provided in different formats, e.g., different form factors such as a large screen computer and a small screen PDA, that would otherwise require maintaining separate instructional content.

Description

    RELATED APPLICATIONS
  • This application claims the benefit of, and incorporates by reference in its entirety, U.S. Provisional Application No. 60/603,004, filed on Aug. 20, 2004.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates in general to systems and methods for learning over a computer network and in particular to a personalized, network-based, distributed learning system.
  • 2. Description of the Related Technology
  • Distributed learning systems, such as the one described in U.S. application Ser. No. 10/090,056, filed Feb. 27, 2002, entitled “SYSTEM FOR DISTRIBUTED LEARNING, provide for the authoring of powerful yet flexible courses of learning. These courses are deployed over wide area computer networks, such as the Internet, to users in order to provide an on-line personalized learning system. Within such systems are configurable learning objects. Each learning object can be thought of as an instructional course that includes the appropriate instructional content along with testing information for determining whether or not a student has learning the content.
  • Over the past few years, some standards have been developed so that instructional content generated in one system can be used in other systems. For example, the Sharable Content Object Reference Model (SCORM) aims to foster creation of reusable learning content as “instructional objects” within a common technical framework for computer and Web-based learning. To that end, SCORM defines a Sharable Content Object (SCO) which is a type of learning object. The SCO is a system-independent object that can be used within any SCORM compliant teaching system. More information on the SCORM specification can be found on the Internet at adlnet.org, where the latest version of the SCORM specification is SCORM 2004.
  • Unfortunately, instructional content that is authored into Sharable Content Objects in order to be SCORM compliant is stored as a static object. Accordingly, making any change to even a single content page within a SCO is time-consuming. Additionally, it can be difficult to reuse course content that is SCORM compliant in a variety of businesses, since the look and feel of the content cannot be altered without manually changing each individual content page. This inherent inflexibility in SCORM compliant systems makes it difficult for authors of SCORM compliant content to take the content that was designed for one business, and use it as part of an on-line teaching system for another business.
  • SUMMARY OF CERTAIN INVENTIVE ASPECTS
  • The system, method, and devices of the invention each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this invention as expressed by the claims which follow, its more prominent features will now be discussed briefly. After considering this discussion, and particularly after reading the section entitled “Detailed Description of Certain Inventive Aspects” one will understand how the features of this invention provide advantages that include, for example, producing SCORM compliant objects while maintaining the flexibility of dynamically managed learning content.
  • One embodiment includes a system for dynamically generating course material for a Sharable Content Object Reference Model (SCORM) compliant learning system. The system includes a first module configured to dynamically generate course material to be taught to a student. The system further includes a second module configured to convert the dynamically generated course material into SCORM compliant course material.
  • Another embodiment is a method of generating Sharable Content Object Reference Model (SCORM) compliant course material. The method includes providing a database of data objects. The data objects include course material. The method further includes selecting a theme or style for the course material and applying the theme or style to the data objects to create stylized course material displayed in the theme or style. The method further includes packaging the stylized course material to create SCORM compliant course material.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The above and other aspects, features and advantages of the invention will be better understood by referring to the following detailed description, which should be read in conjunction with the accompanying drawings. These drawings and the associated description below are provided to illustrate certain embodiments and inventive aspects, and not to limit the scope of the invention.
  • FIG. 1 illustrates a block diagram of a distributed learning system, according to aspects of an embodiment of the invention.
  • FIG. 2 illustrates a block diagram of an authoring and management interface system, according to aspects of an embodiment of the invention.
  • FIG. 3 illustrates a block diagram of an internal and external cache system, according to aspects of an embodiment of the invention.
  • FIG. 4 illustrates a block diagram of a delivery engine, according to aspects of an embodiment of the invention.
  • FIG. 5 illustrates a block diagram of an application programming interface layer, according to aspects of an embodiment of the invention.
  • FIG. 6 illustrates a structure diagram of a course structure, according to aspects of an embodiment of the invention.
  • FIG. 7 illustrates a screen display of a lesson display screen, according to aspects of an embodiment of the invention.
  • FIG. 8 illustrates a process flow diagram of a defining learning objectives parameters process, according aspects of an embodiment of the invention.
  • FIG. 9 illustrates a process flow diagram of a dynamic generation of curriculum process, according to aspects of an embodiment of the invention.
  • FIG. 10 illustrates a block diagram of a dynamically generated curriculum system, according to aspects of an embodiment of the invention.
  • FIG. 11 illustrates a process flow diagram of a dynamically generated curriculum process, according to aspects of an embodiment of the invention.
  • FIG. 12 illustrates a block diagram of a dynamically generated curriculum system with external cache, according to aspects of an embodiment of the invention.
  • FIG. 13 illustrates a process flow diagram of a dynamically generated curriculum process with external cache, according to aspects of an embodiment of the invention.
  • FIG. 14 illustrates a block diagram of a list of available active exams retrieval system, according to aspects of an embodiment of the invention.
  • FIG. 15 illustrates a process flow diagram of a list of available active exams retrieval process, according to aspects of an embodiment of the invention.
  • FIG. 16 illustrates a block diagram of an exam commencement system, according to aspects of an embodiment of the invention.
  • FIG. 17 illustrates a process flow diagram of an exam commencement process, according to aspects of an embodiment of the invention.
  • FIG. 18 illustrates a process flow diagram of an exam customization process, according to aspects of an embodiment of the invention.
  • FIG. 19 illustrates a block diagram of content packaging system according to aspects of an embodiment of the invention.
  • FIG. 20 illustrates a process flow diagram of a content packaging process, according to aspects of an embodiment of the invention.
  • DETAILED DESCRIPTION OF CERTAIN INVENTIVE ASPECTS
  • Certain embodiments of the invention will now be described with reference to the accompanying Figures, wherein like numerals refer to like elements throughout. The terminology used in the description presented herein is not intended to be interpreted in any limited or restrictive manner, simply because it is being utilized in conjunction with a detailed description of certain specific embodiments of the invention. Furthermore, embodiments of the invention may include several novel features, no single one of which is solely responsible for its desirable attributes or which is essential to practicing the inventions described herein.
  • A. Overview
  • Embodiments of the present invention relate to a flexible distributed on-line learning system. The learning system allows for the dynamic creation of teaching materials personally tailored for the needs of a student. In one embodiment, dynamically generated instructional content is rendered into static content for delivery to systems configured to read static content. For example, in one embodiment, the dynamically rendered content is converted into SCORM compliant content by creating sharable content objects (SCOs) that comply with SCORM standards. These dynamically generated SCOs can then be read by any of the available SCORM compliant system.
  • As described below, embodiments of the learning system provide significant advantages in that the content for each course can be generated dynamically, and then converted into a static format, such as SCOs. This allows content authors to create content that can be easily converted into multiple static formats, while still retaining the ability to quickly and easily modify that content.
  • Within embodiments of the system, the instructional content is divided into a series of content objects, each of which contains information for the student. The content objects may include text, pictures, videos, sounds or any combination of these elements. When the course is created, the author chooses a particular style, or format, that is used for displaying the content objects to the student.
  • Each content object can be dynamically rendered using any format chosen by the author. In addition, new formats can be developed so that the original content can be given a different look and feel. Thus, the content and the style for presenting that content are separate from one another. Thus, each content item can thereby be rendered and displayed to a student in any format.
  • Embodiments of the invention add the capability of converting the content that is generated in a particular style into SCORM compliant content. In one embodiment, the system creates sharable content objects from the dynamically generated content. These SCOs can then be used within any SCORM compliant system.
  • For example, the system may be used by an author to create a course that is designed to teach U.S. Air Force pilots how to fly an airplane. The course would include a series of content items that explain how to fly an airplane. Once the content is completed, a style is selected that is appropriate for the Air Force. For example, the Air Force logo might be placed on the top of every page, the text may run along the left side, and any graphics may be placed on the right side. This content is then converted into a SCORM compliant output so that it can be used by the Air Force's on-line teaching system. Once the content is converted into the static SCORM compliant format of SCO's, each of these style choices can only be altered by manually editing each content page.
  • However, with embodiments of the present system, if the Air Force later decides that it would like to share its content with the U.S. Navy, it can do so without manually editing the style of each page. The Navy could develop its own style, such as with the Navy logo at the top, the text on the right side, and any graphics on the left side of the page. The system would then generate a new set of SCORM compliant SCOs that include the new style. This flexibility allows the dynamic generation of SCORM compliant content so that changes in style do not require manual editing of every page of content.
  • Of course, embodiments of the system are not only limited to generating courses having differing styles of content. For example, the Navy may only wish to adapt a portion of the Air Force's content into their Naval Aviator training program. Additionally, the Navy may wish to change the manner in which assessments are provided to the students. All of these changes can be made within the present dynamic system, and then converted into SCORM compliant output when the course is completed. These and other embodiments of the invention are described in more detail below.
  • The system allows for courses to be designed and presented to students over a network, such as the Internet. Each course includes at least one Learning Object that includes all of the content items, assessment items, and other required data to carry out a particular learning objective. One learning objective, for example, might be to learn how to fly a plane, or program a computer. This is an example of a very broad learning objective. Accordingly, each learning objective may include a defined set of target indicators (TI's). For example, the learning objective could be Visual Basic knowledge and the TI's might include command instructions in Visual Basic or display techniques of Visual Basic. Accordingly, each TI could include an indicator that the student has learned the learning objective. The overall course could be called “How to Program a Computer” or “How to fly an airplane”.
  • In order to teach a student a TI, a series of content items (CI's) can be provided. Each content item includes information that relates to its TI. For example, if the TI is Visual Basic knowledge, related content items might include text pages showing Visual Basic commands. Each page displays a one or more content item. Alternatively, a set of related commands might also be a single content item. In addition, content items can be video files, text files or sound files that provide information for the particular target indicator.
  • Associated with the content items is one or more assessment items (AI's), which are typically examination questions that test the student's knowledge of the content item. For example, if the content item includes text that teaches how to use the command “PRINT” from Visual Basic, the assessment item might include a question such as “What command is used to print to the printer?” This allows assessment of the student's knowledge of the content item. Obviously, such a test would not necessarily have to be in written form, but could also be performed through video or sound files. Because of the relationship between content items and assessment items, the system can provide a very granular analysis of what a particular student has learned. By providing a set of assessment items that test for knowledge of particular content items, instructions within the system can determine which content items have been learned by the student, and which content items are not known.
  • Once a determination is made of the content items that need to be learned, embodiments of the system can provide varying types of content items to teach the student. For example, if the student cannot answer the question “What command is used to print to the printer?”, the system can then display additional Visual Basic command text, play a video, or play a sound file that instructs the student on the use of the command “PRINT”.
  • As discussed below, a student can access the course through a computer system. In one embodiment, the course is presented within a browser software program such as Internet Explorer from Microsoft Corporation, or Netscape Navigator from Netscape Corporation. Once the student has requested the course, the course is presented to the student through the browser software executing on the student's computer system.
  • As discussed above, in one preferred embodiment, the course is first converted into a SCORM compliant course, and thereafter displayed within a browser to a student. As is known, the SCORM standard format is designed to be presented to a user within browser software, such as Microsoft Internet Explorer.
  • B. Definitions
  • 1. Application Programming Interface (API)
  • An API is a set of routines, protocols, and tools for building software applications. An API facilitates the development of software programs or systems by providing the building blocks that may be utilized in building a software program or system. A programmer can then access and use the API to create or modify a software program or system.
  • 2. Assessment Items
  • Assessment items are queries that may be posed to the student to indicate the student's comprehension of the course material. The assessment items can be content-related questions, such as, for example, true or false questions, multiple choice questions, fill-in-the-blank questions, point and click questions, drag-and-drop questions, free text questions, and the like.
  • 3. Content Items
  • Content items refer to the presentation of educational material, including any tools that can deliver or contain educational content. Content items can be in many forms, such as, for example, Microsoft Word documents, Microsoft PowerPoint presentations, Flash animations, streaming video, collaborative work environments, or any tool that can deliver educational content.
  • 4. Course
  • A course can include one or more learning objects, and is designed to teach a certain curriculum to a student. A course can be designed and presented to students over a network, such as the Internet. Each course may be composed of one or more learning objects that carry out a particular learning objective.
  • 5. Input Devices
  • Input devices are capable of transmitting information from a user to a computer, for example, a keyboard, rollerball, mouse, voice recognition system or other device. The input device may also be a touch screen associated with the display, in which case the user responds to prompts on the display by touching the screen. The user may enter textual information through the input device such as the keyboard or the touch-screen.
  • 6. Instructions
  • Instructions refer to computer-implemented steps for processing information in the system. Instructions can be implemented in software, firmware or hardware and can include any type of programmed step undertaken by components of the system.
  • 7. Local Area Network (LAN)
  • One example of the Local Area Network may be a corporate computing network, including access to the Internet, to which computers and computing devices comprising the system are connected. In one embodiment, the LAN conforms to the Transmission Control Protocol/Internet Protocol (TCP/IP) industry standard. In alternative embodiments, the LAN may conform to other network standards, including, but not limited to, the International Standards Organization's Open Systems Interconnection, IBM's SNA, Novell's Netware, and Banyan VINES.
  • 8. Learning Objectives
  • Learning objectives refer to major topics, i.e. educational goals, which are typically not easily assessable. The learning objectives may include broad concepts, such as, for example, “Understanding the Use of a Web Browser”. A learning objective typically is separated into smaller conceptual units (target indicators) which can be more easily taught and tested. A learning objective is generally generated by a job task or skills analysis. One or more learning objectives normally form a complete course.
  • 9. Learning Object
  • A learning object is a data object that includes an accumulated set of materials and assets that address a stated set of learning objectives. Preferably, the learning object can then be cohesively combined to satisfy a higher level taxonomy of learning objectives. Mastery of course content may be tracked at not only the learning object level, but also at various levels in the learning objective hierarchy.
  • 10. Media
  • Media refers to images, sounds, video or any other multimedia type data that is entered into the system.
  • 11. Microprocessor
  • The microprocessor may be any conventional general purpose single- or multi-chip microprocessor, such as a Pentium® processor, a Pentium® Pro processor, a 8051 processor, a MIPS® processor, a Power PC® processor, an ALPHA® processor, or other general purpose microprocessor, including those yet to be developed. In addition, the microprocessor may be any conventional special purpose microprocessor, such as a digital signal processor or a graphics processor. The microprocessor typically has conventional address lines, conventional data lines, and one or more conventional control lines.
  • 12. Modules
  • A system is comprised of various modules as discussed in detail below. As can be appreciated by one of ordinary skill in the art, each of the modules may comprise various sub-routines, procedures, definitional statements and macros. Each of the modules are typically separately compiled and linked into a single executable program. Therefore, a description of each of the modules is used for convenience to describe the functionality of certain embodiments of the system. Thus, the processes that are undergone by each of the modules may be arbitrarily redistributed to one of the other modules, combined together in a single module, or made available in, for example, a shareable dynamic link library.
  • 13. Networks
  • The system may include any type of electronically connected group of computing systems, including, for example, one or more of the networks from the following non-exhaustive list: Internet, Intranet, Local Area Networks (LAN) or Wide Area Networks (WAN). In addition, the connectivity to the network may be, for example, by way of remote modem, Ethernet (IEEE 802.3), Token Ring (IEEE 802.5), Fiber Distributed Datalink Interface (FDDI) or Asynchronous Transfer Mode (ATM). Note that computing devices may be desktop, server, portable, hand-held, wireless, set-top, or any other desired type of configuration. As used herein, an Internet includes network variations such as public Internet, a private Internet, a secure Internet, a private network, a public network, a value-added network, an Intranet, and the like. In other words, as used herein, the term network refers to any type of connectivity between computing devices for the transfer of data.
  • 14. Operating Systems
  • The system may be used in connection with various operating systems, such as those from the following non-exhaustive list: UNIX, Disk Operating System (DOS), OS/2, Windows 3.X, Windows 95, Windows 98, Windows NT, including other operating systems yet to be developed. New operating systems and revisions of existing operating systems are continually being developed, and these are also within the scope of the present invention.
  • 15. Programming Languages
  • The system may be written in any programming language such as C, C++, BASIC, Pascal, Java, and FORTRAN, and executed under one or more of the many well-known operating systems. C, C++, BASIC, Pascal, Java, and FORTRAN are industry standard programming languages for which many commercial compilers can be used to create executable code.
  • 16. Target Indicators
  • Target indicators are assessable educational sub-topics that are portions of the broader learning objective. Each learning objective may be composed of one or more target indicators.
  • 17. Transmission Control Protocol
  • Transmission Control Protocol (TCP) is a transport layer protocol used to provide a reliable, connection-oriented, transport layer link among computer systems. The network layer provides services to the transport layer. Using a two-way handshaking scheme, TCP provides the mechanism for establishing, maintaining, and terminating logical connections among computer systems. TCP transport layer uses Internet Protocol (IP) as its network layer protocol. Additionally, TCP provides protocol ports to distinguish multiple programs executing on a single device by including the destination and source port number with each message. TCP performs functions such as transmission of byte streams, data flow definitions, data acknowledgments, lost or corrupt data re-transmissions and multiplexing multiple connections through a single network connection. Finally, TCP is responsible for encapsulating information into a datagram structure.
  • 18. Web Browser
  • A web browser is a software or hardware device capable of displaying graphical and/or textual information from a web page on a computing device. For example, popular web browsers presently include those commercially available from companies such as Netscape, Microsoft Corporation, and the like.
  • C. Overview of the system
  • FIG. 1 illustrates a block diagram of one embodiment of a distributed learning system 100. As shown, the distributed learning system 100 includes a delivery engine 105 for delivering content though the system. The delivery engine 105 sends content data to a student's browser 110 via a network 125. In addition, authors can use an authoring system 115 that is linked via the network 125 to the delivery engine 105 to create content. Also, a learning management system 120 communicates with the delivery engine 105 via the network 125 in order to control the flow of content through the system. These modules and systems are explained in more detail with regard to the following figures.
  • FIG. 2 illustrates a block diagram of one embodiment of the learning system 100. As shown, the authoring and management interface system 200 includes the delivery engine 105, the student's browser 110, the authoring system 115, the learning management system 120, and an external content origin server 230.
  • In one embodiment, the delivery engine 105 includes a content delivery database server 205 that stores content items from the authoring system 115. These content items are developed for eventual delivery to the students as part of a curriculum. As discussed above, these content items can include text, video or sounds that are part of a particular curriculum being taught. The delivery engine 105 also includes an authoring system server 210, a content delivery API system 215, a content delivery system 220, and an external content caching API system 225.
  • In this embodiment, the content delivery database server 205 comprises a database server, such as a SQL server. However, any database system capable of storing and retrieving information, such as those commercially available from, for example, the Oracle Corporation or IBM, is within the scope of the present invention. The delivery engine 105 is capable of using the content delivery database server 205 for storing, accessing and retrieving a variety of information.
  • In one embodiment, the authoring system server 210 comprises a web server. Web servers, which are of widespread use in the technology, are capable of transmitting content over the Internet using one or several Internet language protocols, for example the Hypertext Mark Up Language (HTML) or the Extensible Mark Up Language (XML). A web server can be configured to accept requests from Internet web browsers and return the appropriate electronic documents pursuant to the request. A number of servers or client-side technologies can be used to increase the power of the web server beyond its ability to deliver standard electronic documents. For example, such technologies include Common Gateway Interface (CGI) scripts, Secure Sockets Layer (SSL) security, and Access Server Pages (ASP's).
  • In one embodiment, the authoring system server 210 includes an API used to accept content from external authoring systems. This external content may be XML tagged by the authoring system server 210 in accordance with a predefined data type definition (DTD). The authoring system server 210 tags the incoming content in such a way that the intended target computer is able to identify the purpose of the data. For example, the content may be tagged differently depending on whether the incoming content is an learning object, a TI or CI's associated with a learning object or a TI, etc. The authoring system server 210 is capable of transferring information between the authoring system 115 and the content delivery database server 205. The authoring system 115 and the authoring system server 210 can use an API that defines XML definitions of data and automatic content procedures. Using the API, the authoring system 115 can create and modify courses on the delivery engine 105. The content delivery database server 205 in configured to use an import content service to receive information from the authoring system server 210. The content delivery database server 205 is capable of receiving requests from the authoring system server 210 for storing, accessing and retrieving a variety of information.
  • As disclosed in the foregoing, FIG. 2 illustrates the authoring and management interface system 200. As shown in FIG. 2, the content delivery API system 215 transfers information between the learning management system 120 and the content delivery database server 205. The learning management system 120 and the content delivery API system 215 use an API that defines significant events detected by the system. The significant events include events such as a student's response to an assessment question, a request to activate an exam, a request for authorization, a request for a list of available exams, and the like. In one embodiment, the content delivery API system 215 communicates with the content delivery database server 205 by Java DataBase Connectivity (JDBC). JDBC is a Java specification for connecting to SQL-based databases.
  • As shown in FIG. 2, the content delivery system 220 exchanges information between content delivery database server 205 and the student's browser 110. In one embodiment of the invention, the content delivery system 220 is a web server, although in other embodiments the content delivery system 220 may be other types of computing devices. The student's browser 110 and the content delivery system 220 may communicate via Hypertext Transfer Protocol (HTTP), or by way of other data transfer methods. In another embodiment of the invention, the student's browser 110 and the content delivery system 220 communicate using a secured communications protocol, such as, for example, secured URL, Hypertext Transfer Protocol Secure (HTTPS), or the like.
  • As shown in the embodiment of FIG. 2, the delivery engine 105 includes the external content caching API system 225. The external content caching API system 225 communicates with an external content origin server 230 to provide educational content, from sources external to the delivery engine 105, to the student's browser 110. In one embodiment, the student's browser 110 and the external content origin server 230 advantageously use URL redirects from the original server to communicate. Therefore, the student's browser 110 may receive content directly from the delivery engine 105, or the student's browser 110 may receive content indirectly from the delivery engine 105 via the external content origin server 230.
  • The learning management system 120 also communicates with the student's browser 110. A student using the student's browser 110 may communicate with the learning management system 120 to gain access to the delivery engine 105. Once access is gained, the student's browser 110 may retrieve content, exams, and other services available through the delivery engine 105. The student's browser 110 and the learning management system 120 may communicate using a secured communications protocol, such as, for example, secured URL, Hypertext Transfer Protocol Secure (HTTPS), or the like.
  • The content items in the learning system 100 may be stored in a database structure in the content delivery database server 205. In this way, the content in the system is reusable. The content items or target indicators in the database may be reused for placement in another target indicator. Thus, any content or course developer can use the database and utilize the content items.
  • FIG. 3 illustrates one embodiment of a block diagram of an internal and external cache system 300. As shown, the delivery engine 105 delivers content to the student's browser 110 through an internal content cache 305 and/or an external content cache 310. The external content cache 310 may be utilized if provided, but it need not be provided for the system to operate. The delivery engine 105, the external content cache 310, and the student's browser's 110 communicate with each other via the network 125.
  • The internal content cache 305 and the external content cache 310 provide one or more content items 315A-315N to the student's browser 110. As used herein, a single content item may be referred to as, for example, the ‘content item 315A’ or the ‘content item 315B’, specifying a particular one content item from the list of content items 315A-315N shown in FIG. 3. The ‘content item 315N’ refers to the last content item in the list, where ‘N’ indicates that any number of content items may be included. The ‘content items 315A-315N’ refer to the list of content items, which may be comprised of one or more individual content items.
  • The student's browser 110 includes a display area 320 that can be viewed by the student. The display area 320 includes one or more text content 325 and one or more content items 315A-315N. The display area 320 displays a content page 340 created by the delivery engine 105. The content page 340 includes one or more text contents 325 and one or more content items 315A-315N. In one embodiment, the content page 340 includes style sheets for formatting the content in a consistent manner, even if different types of content are delivered.
  • The delivery engine 105 includes the internal content cache 305, a content cache API layer 330, and a XSLT process system 335. As is known, XSLT is a language used for transforming XML documents into other XML documents. The content items 315A-315N can reside on the internal content cache 305 or the external content cache 310. In one embodiment of the invention, the delivery engine 105 transmits the content page 340 to the student's browser 110 where a portion of the content items 315A-315N are provided by the internal content cache 305 and where a portion of the content items 315A-315N are provided by the external content cache 310. The XSLT process system 335 applies the designated style sheet to the content page 340 for display on the display area 320 of the student's browser 110.
  • Content items and assessment items are capable of being dynamically rendered within the student's browser 110 from the delivery engine 105. As described above, the content items and assessment items are capable of being stored in a database. To deliver content, the system can use a target indicator map that associates a learning objective with one or more target indicators. The system also provides a page map that describes the content items to be displayed in a page. Once the page map is accessed, the page request is submitted to the XSLT process 335 to determine the style sheet to be used for the particular content page 340. Once the style sheet is determined, the web page is presented to the student's browser 110. If the page contains additional embedded items, the system makes additional requests for the additional embedded items. This process can also be followed when presenting assessment exams and items within the exams.
  • As described in the above embodiment, content items and assessment items that are embedded in a page may be addressed with a Uniform Resource Locator (URL) or by Hypertext Transfer Protocol (HTTP). Therefore, the content can be physically located in a distributed cache environment with a server that controls and maps the cached content objects and can issue URL redirect commands for embedded objects with the dynamically rendered page. The content cache API in the delivery engine 105 uses the address of the origin server to forward requests for embedded objects to the origin server.
  • The content delivery engine 105 renders the supported content item types and question types imported from the external authoring systems. The object types can include dynamic object types. The content delivery engine 105 preserves the presentation look and feel created by the author or instructional designer. The content delivery engine 105 further assembles and delivers assessment and course media elements. The elements can be expressed in various forms, such as, for example, Extensible Markup Language (XML) or any Multipurpose Internet Mail Extensions (MIME) types, such as, for example, text, multi-part, message, applications, image, audio, video, model, and the like.
  • The supported content item types may include those from the following non-exhaustive list: description, question, image, list, HTML, table, slide show, summary, and the like. The system is capable of supporting a variety of assessment types, such as, for example, true or false questions, multiple choice questions, fill-in-the-blank questions, point and click questions, drag and drop questions, free text questions, and the like.
  • The content delivery engine 105 is capable of adding specific themes to the content depending on the author or LMS preferences, thus preserving a constant look and feel. The look and feel may include factors such as colors, header font, button shapes, university logo, and the like.
  • FIG. 4 illustrates a block diagram of the delivery engine 105, according to aspects of an embodiment of the invention. The delivery engine 105 includes the content delivery database server 205. In one embodiment, the content delivery database server 205 includes a curriculum database 505 that stores certain data relating to the student's curriculum. The curriculum database 505 may include a table of content items 515 which can include video, text, images, and HTML pages that relate to one or more target indicators. In addition, a table of associated assessment items 520 is also included within the curriculum database 505. The table of assessment items 520 can include stored questions 521 that can be transmitted to the student's browser 110.
  • In addition, the content delivery database server 205 may also capture and store raw exam results 525, course information 530, and any other information 535. Also, an assessment database 510 may include an assessment table 540 that maintains a link between each content item and its associated assessment items. The assessment table 540 comprises information on content items, assessment item, displayed pages, and learning objectives.
  • FIG. 5 illustrates a block diagram of an application programming language interface layer 600, according to aspects of an embodiment of the invention. As shown, an API layer 605 encompasses a meta data framework 610. The meta data framework 610 encompasses a content delivery database 615.
  • The authoring system 115, the learning management system 120, and an external caching system 620 are capable of communicating with the meta data framework 610. The function of the API layer is to allow the content delivery engine 105 to communicate with any external authoring system, learning management system, or content caching scheme. The system has published and defined API's that can be used by external systems to communicate with the content delivery engine 105.
  • The API layer 605 enables the exchange of data between the content delivery engine 105 and external authoring systems in a standard format. The data may include both curriculum and assessment content. The API defines the process for receiving an export package from a designated FTP site. The API also defines the import content in XML format via the authoring to delivery API, including curriculum content, assessment content and the associated meta data for both types of content. If the API detects errors during the communication, the content may be sent to the authoring system, via the API, for correction or other appropriate action.
  • Further, the API enables delivery to learning management conversations. The delivery database includes information such as course content, assessment questions, assessment exams, raw exam results, student profiles and other information that the learning management system 120 is able to display to the student, processing by the management system (such as exam results) or tracking a learner's progress through the course.
  • The delivery engine 105 can communicate with one or more communication schemes, such as, for example, synchronous and asynchronous communications paths. An asynchronous conversation includes communications, such as, for example, the delivery engine 105 reporting back to the management system regarding the assessment question responses of a student taking an exam. A synchronous conversation includes communications, such as, for example, a student's browser 110 requesting a list of available exams from the delivery engine 105.
  • The API can additionally support content caching. When content is imported into the database 615, the content may be stored as an anatomic item that is part of a page. Since the HTML process of building pages is a dynamic process, the content for a page does not need to be stored in the database. The delivery engine 105 can access the content using a URL address, and thus the content need not be stored in the database. Therefore, the content can be placed at various locations around a network, and accessed by the content delivery engine 105 through the URL address of the content.
  • FIG. 6 illustrates a structure diagram of a course structure 700, according to aspects of an embodiment of the invention. As illustrated, a course 705A, 705B comprises one or more learning objectives 710A, 710B. Each of the learning objectives 710A, 710B comprises one or more target indicators 715A, 715B. Each of the target indicators 715A, 715B comprises one or more content items 315A, 315B.
  • Each of the content items 315A, 315B comprises one or more assessment items 725A-725D. Assessments items may also be defined independently of any particular learning objects. Assessment items may thus be related to one or more learning items to enable reuse of assessment items and to allow the creation of customized learning curriculums having relating one or more assessment items to multiple learning objects. For example, assessment items 725A-725D can also be associated with the target indicators 715A, 715B directly. Assessment items 725A-725D may be associated with the learning objectives 710A, 710B by implementing a two-phase adaptive testing process. For the sake of example, FIG. 6 shows two courses 705A, 705B, two learning objectives 710A, 710B for each course 705A, 705B, two target indicators 715A, 715B for each learning objective 710A, 710B, two content items 315A, 315B for each target indicator 715A, 715B, and four assessment items 725A-725D for each content items 315A, 315B. However, as represented by the ellipses in FIG. 6, the number of each of these items actually shown is for the purpose of example only, and more or fewer of each of these items may be present in the various embodiments of the course structure 700.
  • In the embodiment shown in FIG. 6, each course 705A, 705B is composed from a set of learning objectives 710A, 710B. Learning objectives 710A, 710B include major topics that are not directly assessable. The learning objectives 710A, 710B may include broad concepts, such as, for example, “Understanding the Use of a Web Browser”. These concepts may be broken down into smaller conceptual units that can be tested and directly assessed. The learning objectives 710A, 710B are generally generated by a job task or skills analysis. Together, the learning objectives 710A, 710B form the course 705A, 705B.
  • Further, for each learning objective 710A, 710B, specific target indicators 715A, 715B may be generated. Target indicators 715A, 715B include assessable subtopics. For example, if a learning objective 710A, 710B is “Understanding the Use of a Web Browser”, a specific target indicator 715A, 715B may be, for example, “Understanding How to Enter a URL”, or “Understanding How to Print from a Web Browser”, or the like.
  • Each target indicator 715A, 715B may include one or more content items 315A, 315B. Content items 315A, 315B can be in many forms, such as, for example, Microsoft Word documents, Microsoft PowerPoint presentations, Flash animations, streaming video, collaborative work environments, or any similar tool that can deliver educational content. Each content item 315A, 315B is developed to address a specific target indicator 715A, 715B. Different media elements can cover the same educational content. Thus, the media elements can later be matched with specific learning preferences or styles. For example, primarily text-oriented students may receive more text intensive learning materials, whereas primarily visually-oriented students may receive more media intensive materials. Also, different media elements can be used to reinforce particularly difficult or important concepts.
  • Thus, a repository of content items 315A, 315B may be built to address an individual target indicator 715A, 715B. The content items 315A, 315B may include anatomic pieces of information that each address the assessable goal of the target indicator 715A, 715B. Each content item 315A, 315B can stand alone or combine with other content items 315A, 315B associated with the specific target indicator 715A, 715B. The content delivery engine 105 can then render the content items 315A, 315B into a presentation, such as an HTML page, and transmit the presentation to the student's web browser. A presentation of content items then becomes a content item itself.
  • The assessment items 725A-725D include questions that may be asked of the student. Assessment items 725A-725D can be stored in a database. Assessment items 725A-725D can also be associated within the database at the content item level, the page level, or the target indicator level. An assessment generation engine is capable of dynamically creating assessments for each student on demand. The output of the generation process can include a set of assessment questions in presentation format.
  • The instructor may set assessment attributes in an active assessment page. The attributes may include factors, such as, for example, the duration of the test, the number of attempts (at the assessment question) allowed by the student, the randomization of questions, inclusion of Beta test items for the purpose of analyzing the behavior of test question before it is placed in the active test question pool, and the like. The author of the course can set permissions for granting and restricting course instructor access to modify the default attribute values.
  • The delivery engine 105 is capable of using an exam activation screen to enable the course instructor to set or change the assessment attributes to which the course instructor has been granted permission to modify. The attributes may include assessment start and end time or date, duration of the test, the number of attempts allowed by the student, randomization of questions, criteria of students qualified to take assessment, question threshold (i.e. the minimum assessment items per content component missed to get prescription), and other attributes.
  • In one embodiment, the delivery engine 105 is configured to maintain the raw assessment responses (responses are stored in relation to the student) and the overall response map (response map is stored in relation to the question). The external management systems can request student exam information through appropriate calls in the management API. The management system, using the requested student exam information, can determine the score scale for proficiency of the student.
  • FIG. 7 illustrates a screen display of a lesson display screen 800, according to aspects of an embodiment of the invention. As shown in FIG. 7, the lesson display screen 800 includes the content page 340, which displays teaching information to the student. The content page 340 includes at least one text content 325 and one or more other content items 315A-315N. The content items 315A-315N can include text, video or sound files that relate to the text content 325. In one embodiment, each of the content items 315A-315N and text content 325 relate to a single target indicator. For example, each would provide a different way to teach a student how to program the “PRINT” command in Visual Basic.
  • In addition, the content page 340 can include other controls, such as a “MORE INFO” button 802 or a “NEXT” button 804. Selecting the button 802 can bring up additional curriculum relating to the target indicator being taught. Moreover, content items 315A-315N with varying levels of difficulty can be provided so that the student can challenge themselves with more difficult topics. The system thereafter is capable of tracking the progress and determining the level of the student's knowledge by analyzing the content items they viewed, and their score on assessment items associated with the content items.
  • FIG. 8 is a flow diagram illustrating one embodiment of a process 900 for defining learning objectives parameters. This embodiment of the defining learning objectives parameters process 900 starts at Step 905. At Step 910, the author defines a learning objective. After the author defines a learning objective, at Step 915, the author determines the target indicator of the learning objective. After the author determines the target indicator of the learning objective, at Step 920, the author determines the content item that teaches the target indicator. After the author determines the content item that teaches the target indicator, at Step 925, the author determines an assessment item that tests for the learned content item.
  • After the author determines the assessment item that tests for the learned content item, at Step 930, the author is prompted to indicate whether the author wishes to include more assessment items. At Step 930, if the author wishes to include more assessment items, the process proceeds to Step 925. If, at Step 930, the user does not wish to include more assessment items, the process proceeds to Step 935.
  • At Step 935, the author is prompted to indicate whether the author wishes to include more content items. At Step 935, if the author wishes to include more content items, the process proceeds to Step 920. If, at Step 935, the author does not wish to include more content items, the process proceeds to Step 940. At Step 940, the author is prompted to indicate whether the author wishes to include more target indicators. At Step 940, if the author wishes to include more target indicators, the process proceeds to Step 915. If, at Step 940, the author does not wish to include more target indicators, the process proceeds to Step 945. At Step 945, the author is prompted to indicate whether the author wishes to include more learning objectives. At Step 945, if the author wishes to include more learning objectives, the process proceeds to Step 910. If, at Step 945, the author does not wish to include more learning objectives, the process proceeds to Step 950. At Step 950, the defining learning objectives parameters process 900 is complete.
  • FIG. 9 illustrates one embodiment of a process 1000 for dynamically generating a curriculum for a student. This embodiment of the dynamic generation of curriculum process 1000 starts at Step 1005. At Step 1010, the student's browser issues a DNS look-up for location of a content item. After the student's browser issues a DNS look-up for location of content, at Step 1015, the DNS returns the IP address of a content server. After the DNS returns the IP address of the content server, at Step 1020, the student's browser issues an HTTP request to the content server. After the student's browser issues the HTTP request to the content server, at Step 1025, the content server issues a request to the content service to get XML data for the student's page.
  • After the content server issues a request to the content service to retrieve XML data for the student's page at Step 1030, the content service communicates with the delivery database to retrieve the requested XML data corresponding to the content. After the content service communicates with delivery database to retrieve the XML data, at Step 1035, the delivery database returns the requested data. After the delivery database returns the requested data, the process proceeds to Step 1040.
  • At Step 1040, if all data for page is not delivered, the process proceeds to Step 1030. If, at Step 1040, all content data for the page was delivered to the student's browser, the process proceeds to Step 1045. At Step 1045, the content service returns XML data for the page as requested. After the content service returns XML data for the page as requested, at Step 1050, the content delivery web server processes XML data and produces an HTML page. After the content delivery server web server processes XML data and produces the HTML page, at Step 1055, the produced HTML page is returned to the student's browser. After the produced HTML page is returned to the student's browser, the process proceeds to Step 1060.
  • At Step 1060, if there are no embedded resources in the page, the process proceeds to Step 1070. If, at Step 1060, there are embedded resources in the page, the process proceeds to Step 1065. At Step 1065, an HTTP request is made for each embedded resource. After the HTTP request is made for each embedded resource, the process proceeds to Step 1070. At Step 1070, the dynamic generation of curriculum process 1000 is complete.
  • FIG. 10 illustrates one embodiment of a system 1100 that dynamically generates a curriculum. As shown, this embodiment of the dynamically generated curriculum system 1100 includes the student's browser 110, a DNS services module 1105, the content delivery system 220, the content delivery database server 205, a content service 1115 module, and a delivery database 1120. In one embodiment of the invention, the student's browser 110 and the DNS services module 1105 communicate by transmitting DNS items.
  • In this embodiment, the student's browser 110 and the content delivery system 220 communicate via HTTP. The content delivery system 220 and the content service module 1115 communicate by Remote Method Invocation (RMI). The content delivery system 220 also communicates with the delivery database 1120. The content service 1115 and the delivery database 1120 are capable of communicating via JDBC. The content delivery database server 205 communicates with the content service 1115 and the delivery database 1120. In one embodiment of the invention, the delivery database 1120 is a database such as those commercially available from Oracle, or the like.
  • FIG. 11 illustrates one embodiment of a process 1200 for dynamically generating a curriculum. This embodiment of the dynamically generated curriculum process 1200 starts at Step 1205. At Step 1210, the student's browser issues a DNS lookup for location of the content delivery system (CDS) web server. After the student's browser issues a DNS lookup for location of content delivery system web server, at Step 1215, the DNS returns an IP address for the CDS web server to the student's browser.
  • After the DNS returns an IP address for the CDS web server to the student's browser, at Step 1220, the student's browser issues an HTTP request to the CDS web server for the requested curriculum page. After the student's browser issues the HTTP request to the CDS web server for the requested curriculum page, at Step 1225, the CDS web server issues a request to the content service to the get the XML data for the page. After the CDS web server issues a request to the content service to the get the XML data for the page, at Step 1230, the content service communicates with the delivery database to retrieve the XML data.
  • After the content service communicates with the delivery database to retrieve the XML data, at Step 1235, the delivery database returns the requested data. After the delivery database returns the requested data, the process proceeds to Step 1240. At Step 1240, if all the data for the page is not obtained, the process proceeds to Step 1230. If, at Step 1240, all the data for the page is obtained, the process proceeds to Step 1245. At Step 1245, the content service returns the XML data for the page as requested. After the content service returns the XML data for the page as requested, at Step 1250, the CDS web server process the XML data and produces an HTML page, which is returned to the student's browser. The process proceeds to Step 1255. If, at Step 1255, the page has embedded resources, HTTP requests are made for each embedded resource. After the HTTP requests are made for each embedded resource, the process proceeds to Step 1260. If, at Step 1255, the page does not have embedded resources, the process proceeds to Step 1260. At Step 1260, the dynamically generated curriculum process 1200 is complete.
  • FIG. 12 is a block diagram showing one embodiment of a dynamically generated curriculum system with external cache 1300. As shown in the embodiment of FIG. 12, the dynamically generated curriculum system with external cache 1300 includes the student's browser 110, the DNS services 1105, the content delivery system 220, the content delivery database server 205, the content service 1115, the delivery database 1120, the external content origin server 230, and an external caching scheme 1305. In one embodiment, the student's browser 110 and the DNS services 1105 communicate by transmitting DNS items.
  • In this embodiment, the student's browser 110 and the content delivery system 220 communicate via HTTP. The content delivery system 220 and the content service 1115 communicate by Remote Method Invocation (RMI). The content delivery system 220 also communicates with the delivery database 1120. The content service 1115 and the delivery database 1120 are capable of communicating via JDBC. The content delivery database server 205 communicates with the content service 1115 and the delivery database 1120. The student's browser 110 and the external content origin server 230 communicate via HTTP. The external content origin server 230 transmits commands to the external caching scheme 1305, and the external caching scheme 1305 transmits, via HTTP, data to the student's browser 110. In one embodiment, the delivery database 1120 is a database such as those commercially available from Oracle, or the like.
  • FIG. 13 illustrates one embodiment of a process 1400 for dynamically generating a curriculum with external cache. This embodiment of the dynamically generated curriculum process with external cache 1400 starts at Step 1405. At Step 1410, the student's browser issues a DNS lookup for the location of the content delivery system (CDS) web server. After the student's browser issues a DNS lookup for location of the content delivery system web server, at Step 1415, the DNS returns an IP address for the CDS web server to use with the student's browser.
  • After the DNS returns an IP address for the CDS web server to use with the student's browser, at Step 1420, the student's browser issues an HTTP request to the CDS web server for the requested curriculum page. After the student's browser issues an HTTP request to the CDS web server for the requested curriculum page, at Step 1425, the CDS web server issues a request to the content service to the get the XML data for the page. After the CDS web server issues a request to the content service to the get the XML data for the page, at Step 1430, the content service communicates with the delivery database to retrieve the XML data. After the content service communicates with the delivery database to retrieve the XML data, at Step 1435, the delivery database returns the requested data.
  • After the delivery database returns the requested data, the process proceeds to Step 1440. At Step 1440, if all the data for the page is not obtained, the process proceeds to Step 1430. If, at Step 1440, all the data for the page is obtained, the process proceeds to Step 1445. At Step 1445, the content service returns the XML data for the page as requested. After the content service returns the XML data for the page as requested, at Step 1450, the CDS web server processes the XML data and produces an HTML page, which is returned to the student's browser. The process proceeds to Step 1455. If, at Step 1455, the page has embedded resources, HTTP requests are made for each embedded resource.
  • In one embodiment, the URL of the embedded resources are modified based on the location of the external caching origin server. After the HTTP requests are made for each embedded resource, the process proceeds to Step 1460. If, at Step 1455, the page does not have embedded resources, the process proceeds to Step 1460. At Step 1460, the student's browser issues an HTTP request for the resource from the new origin server determined and coded into the URL in Step 1450. After the student's browser issues the HTTP request for the resource from the new origin server, at Step 1465, the origin server issues an HTTP request to redirect the student's browser to point the browser to its internal caching scheme. After the origin server issues the HTTP request to redirect to the student's browser to point the browser to its internal caching scheme, the process proceeds to Step 1470. At Step 1470, the dynamically generated curriculum process with external cache 1400 is complete.
  • FIG. 14 illustrates a block diagram of a list of available active exams retrieval system 1500, according to aspects of an embodiment of the invention. As shown in the embodiment of FIG. 14, the list of available active exams retrieval system 1500 includes the student's browser 110, the DNS services 1105, the content delivery system 220, the learning management system 120, the content service 1115, the delivery database 1120, the content delivery database server 205, the external content origin server 230, and the external caching scheme 1305. In this embodiment, the student's browser 110 and the DNS services 1105 communicate by transmitting DNS items. The student's browser 110 and the content delivery system 220 communicate via HTTP. The content delivery system 220 and the content service 1115 communicate by Remote Method Invocation (RMI). The content delivery system 220 and the delivery database 1120 communicate via JDBC. The content service 1115 and the delivery database 1120 communicate using JDBC.
  • The content delivery database server 205 is capable of communicating with the content service 1115 and the delivery database 1120. The learning management system 120 and the content delivery system 220 can communicate using RMI. The student's browser 110 and the external content origin server 230 communicate via HTTP. The external content origin server 230 is capable of transmitting commands to the external caching scheme 1305, and the external caching scheme 1305 transmits, via HTTP, data to the student's browser 110. In one embodiment of the invention, the delivery database 1120 is a database such as those commercially available from Oracle, or the like.
  • FIG. 15 illustrates a process flow diagram of a list of available active exams retrieval process 1600, according to aspects of an embodiment of the present invention. The list of available active exams retrieval process 1600 starts at Step 1605. At Step 1610, the student's browser issues a DNS lookup for the location of the content delivery system (CDS) web server. After the student's browser issues a DNS lookup for the location of the content delivery services web server, at Step 1615, the DNS returns an IP address for the CDS web server to use with the student's browser.
  • After the DNS returns an IP address for the CDS web server to use with the student's browser, at Step 1620, the student's browser issues an HTTP request to the CDS web server for the list of exams page. After the student's browser issues the HTTP request to the CDS web server for the list of exams page, at Step 1625, the CDS web server issues a request to the management system to get the exam activation information for the particular user. After the CDS web server issues a request to the management system to get the exam activation information for the particular user, at Step 1630, the management system returns the exam activation information to the CDS web server. After the management system returns the exam activation information to the CDS web server, at Step 1635, the CDS web server requests information from the delivery database about the exam. After the CDS web server requests information from the delivery database about the exam, at Step 1640, the delivery database returns the exam information to the CDS web server.
  • If external caching is used, the URL of the embedded resources may be customized based on the location of the external caching origin server. After the delivery database returns the exam information to the CDS web server, at Step 1645, the CDS web server returns the dynamic exam list HTML page to the student's browser. After the CDS web server returns the dynamic exam list HTML page to the student's browser, the process proceeds to Step 1650. At Step 1650, if the page has embedded resources, HTTP requests are made for each embedded resource, and the process proceeds to Step 1655. If, at Step 1650, the page has no embedded resources, the process proceeds to Step 1655.
  • At Step 1655, if external caching is not used, the process proceeds to Step 1670. If, at Step 1655, external caching is used, the process proceeds to Step 1660. At Step 1660, the student's browser issues an HTTP request for the resource from the new origin server determined and coded into the URL in Step 1640. After the student's browser issues the HTTP request for the resource from the new origin server, at Step 1665, the origin server issues an HTTP redirect to the student's browser to point the browser to its internal caching scheme. After the origin server issues the HTTP redirect to the student's browser to point the browser to its internal caching scheme, the process proceeds to Step 1670. At Step 1670, the list of available active exams retrieval process 1600 is complete.
  • FIG. 16 illustrates a block diagram of an exam commencement system 1700, according to aspects of an embodiment of the invention. As shown in the embodiment of FIG. 16, the exam commencement system 1700 includes the student's browser 110, the DNS services 1105, the content delivery system 220, the content service 1115, the delivery database 1120, the content delivery database server 205, the external content origin server 230, the external caching scheme 1305, and a session server 1705. In one embodiment of the invention, the student's browser 110 and the DNS services 1105 communicate by transmitting DNS items. The student's browser 110 and the content delivery system 220 communicate via HTTP. The content delivery system 220 and the content service 1115 communicate by JDBC.
  • In one embodiment, the content delivery system 220 and the delivery database 1120 communicate using JDBC. The content service 1115 and the delivery database 1120 communicate using JDBC. The content delivery database server 205 communicates with the content service 1115 and the delivery database 1120. The session server 1705 and the content delivery system 220 communicate by JDBC. The student's browser 110 and the external content origin server 230 communicate via HTTP. The external content origin server 230 transmits commands to the external caching scheme 1305, and the external caching scheme 1305 transmits, via HTTP, to the student's browser 110. In one embodiment, the delivery database 1120 is a database such as those commercially available from Oracle, or the like.
  • FIG. 17 illustrates a process flow diagram of an exam commencement process 1800, according to aspects of an embodiment of the invention. This embodiment of the exam commencement process 1800 starts at Step 1805. At Step 1810, the student's browser issues a DNS lookup for the location of the content delivery system (CDS) web server. After the student's browser issues a DNS lookup for location of the content delivery system web server, at Step 1815, the DNS returns an IP address for the CDS web server to use with the student's browser. After the DNS returns an IP address for the CDS web server to use with the student's browser, at Step 1820, the student's browser issues an HTTP request to the CDS web server to start the selected exam. After the student's browser issues the HTTP request to the CDS web server to start the selected exam, at Step 1825, the CDS web server requests information from the delivery database about the exam.
  • After the CDS web server requests information from the delivery database about the exam, at Step 1830, the delivery database returns the exam information to the CDS web server. After the delivery database returns the exam information to the CDS web server, at Step 1835, the CDS web server requests a new session from the session server. After the CDS web server requests a new session from the session server, at Step 1840, a new session is created by the session server and returned to the CDS web server. After the new session is created by the session server and returned to the CDS web server, at Step 1845, the CDS web server issues a request to the content server to get the XML data for the page. After the CDS web server issues a request to the content server to get the XML data for the page, at Step 1850, the content service communicates with the delivery database to retrieve the XML data.
  • After the content service communicates with the delivery database to retrieve the XML data, at Step 1855, the delivery database returns the requested data to the content service, and the process proceeds to Step 1860. At Step 1860, if all the data is not obtained, the process proceeds to Step 1850. If, at Step 1860, all the data is obtained, the process proceeds to Step 1865. At Step 1865, the content service returns the XML data for the pages as requested. After the content service returns the XML data for the pages as requested, at Step 1870, the CDS web server returns the dynamic exam HTML page to the student's browser. If, at Step 1870, the page has embedded resources, subsequent HTTP requests are made for each embedded resource. The process proceeds to Step 1875.
  • If, at Step 1875, external caching is used, the URL of the embedded resources based on the location of the external caching origin server, and the process proceeds to 1876. If, at Step 1875, external caching is not used, the process proceeds to Step 1885. At Step 1876, the student's browser issues an HTTP request for the resource from the new origin server determined and coded into the URL in Step 1840. After, the student's browser issues the HTTP request for the resource from the new origin server, at Step 1880, the origin server issues an HTTP redirect to the student's browser to point the browser to the internal caching scheme. After the origin server issues the HTTP redirect to the student's browser to point the browser to the internal caching scheme, the process proceeds to Step 1885. At Step 1885, the exam commencement process 1800 is complete.
  • FIG. 18 illustrates a process flow diagram of an exam customization process 1900, according to aspects of an embodiment of the invention. This embodiment of the exam customization process 1900 starts at Step 1905. At Step 1910, the student, using the student's browser, accesses the course. After completing the course, the student partakes in an exam. After the student partakes in the exam, at Step 1915, the student's results in the exam are recorded. After the student's results in the exam are recorded, the process proceeds to Step 1920. At Step 1920, if the student has successfully completed the course, the process proceeds to Step 1935. If, at Step 1920, the student has not successfully completed the course, the process proceeds to Step 1925.
  • At Step 1925, a new target indicators content map for the course is created according to the student's proficiency in the exam at Step 1910. After the new target indicators content map for the course is created, at Step 1930, using the results of the exam at Step 1910 and the new target indicators content map created in Step 1925, a new custom course is created for the particular student. After the new custom course is created for the particular student, the process proceeds to Step 1910. At Step 1935, the exam customization process 1900 is complete.
  • In one embodiment, the system dynamically creates a course before presenting the course to the student. Therefore, in the same manner, the system is able to create supplementary courses based upon the student's proficiency in the course exam. In this way, the courses presented to a student may be personalized for that student and to that student's learning progress.
  • As an example, the course content may be presented to a student through an HTML page containing one or more content items. Using the relationship of assessment items to content items and pages, a course can be created to address the student's proficiency in the course exam. The system creates a map of target indicators, content items, and pages specific for the particular student based on the student's failed assessment items. The system is capable of storing the map in the student's profile. Thus, using the profile, the system provides each student with a course based on the course content not mastered by the student.
  • In other embodiments, the course content may be packaged into static or otherwise sharable forms, such as a Sharable Content Object as defined by the SCORM specification, e.g., SCORM version 1.2, 2004, or later versions, such as are available on the Internet at adlnet.org. FIG. 19 illustrates a block diagram of one embodiment of a content packaging system 2000 that can be used within a learning management system. In this embodiment, the content packaging system includes the content delivery engine 105 and content delivery database server 205 that were previously described.
  • In this embodiment, the content delivery engine 105 may include modules such as a content packaging interface module 2002, a SCO rendering service module 2010, a dynamic delivery service 2012, and a rendering service 2014. One or more of the modules 2002, 2010, 2012, and 2014 may be configured as services operating in one or more threads or processes within the system 2000.
  • FIG. 20 illustrates a process flow diagram of a content packaging process 2050, according to aspects of an embodiment of the invention. The process 2050 begins at step 2052, in which a content package, such as a SCO, is configured. In this embodiment, the content packaging interface 2002 provides a web page to a user as the interface for configuring the content package. The interface module 2002 may provide for specific learning content to be specified, e.g., a course. In addition, the interface module 2002 may provide for selection of the course version, language, a format, and a user type. In one embodiment, a course, along with a specific version and language for the course, is the basic learning content rendered into a SCO.
  • The interface may also include selection of rendering options including a particular theme and a particular style. In other embodiments, content may be specified at any level of the course hierarchy. The theme and style may be specified in terms of XSLT. In one such embodiment, the cross SCO linking may be lost if, e.g., the SCORM format does allow such corresponding linkage.
  • The selection of theme and style for a course allows the content to be packaged into the SCO in a form that is customized for a particular user or group of users. In addition, the content may be customized for specific providers of the content, or the organization providing the content. Such “branding” allows the same learning content to be provided in a variety of different settings and to different groups of users without having to edit or otherwise customize the actual learning content. The theme and style associated with the content packaging allows the same learning content to be rendered into forms suitable for particular users and their applications, e.g., for different output or input devices. For example, SCO's may be rendered from learning objects to HTML in order for an organization can take advantage of SCORM compliant output.
  • This same content may also be delivered in other styles and themes to a device such as personal digital assistant (PDA), cellular telephone, portable computer, etc. that is used in the field. The presentation and general interface to the learning content may thus be rendered in a variety of formats so as to be optimized for devices such as PDAs and cell phones that have smaller displays and/or touch screen inputs. By using the dynamic rendering capabilities of the system, the authored content does not need to be altered in order to provide content objects to a user in these variety of formats and configurations.
  • Moving to step 2054, a manifest of the learning content is generated. The manifest identifies the learning content specified for the content package along with supporting metadata, e.g., administrative metadata, describing that content. In one embodiment, the SCO rendering service 2010 generates an IMS manifest as well-formed XML. As is known, a SCORM package contains a manifest file that declares the contents of the package and is set up to describe the order in which the SCOs within that package are to be delivered. It also tells the Learning Management System where to find the SCOs themselves. The physical resources represented by the SCO can be physically included in the package, or they can be referenced externally by the package.
  • In one embodiment, the manifest is valid with respect to the IMS Content Packaging XML Schema Definition (XSD), such as Version 1.1.2. The manifest can also be valid with respect to the ADL Content Packaging XML Schema Definition (XSD), such as Version 1.2. Appendix A includes an exemplary IMS manifest as produced by one embodiment of the system described herein. Appendix B includes an exemplary manifest metadata file as produced by an embodiment of the invention.
  • Proceeding to step 2056, runtime scripts are generated for the package. In one embodiment, the SCO rendering service 2010 generates and references SCO runtime scripts. Next at step 2058, the course, e.g., learning object, theme, and style are retrieved. In one embodiment, the SCO rendering service 2010 requests the learning object, the theme, and the style data from the dynamic delivery service 2012. The dynamic delivery service may then request the data from the rendering service 2014. The rendering system 2014 requests the learning object from the XML learning object store, e.g., content delivery database server 205.
  • Moving to step 2060, the static learning content (SCO) is generated based on the chosen theme, style, and other parameters. In one embodiment, the rendering service 2014 renders the learning content as SCORM compliant HTML, including support for “runtime” calls in the static HTML. Next at step 2062, SCO information is applied to the IMS manifest. In one embodiment, this is performed by the SCO rendering service 2010. In one embodiment, this includes identifying the learning resources included in the SCO. Moving to step 2064, a SCO metadata file is generated. In one embodiment, the SCO rendering service 2010 generates the SCO metadata file. Appendix C includes an exemplary SCO metadata file as produced by one such embodiment.
  • Proceeding to step 2066, the learning assets included in the SCO are organized into structures according to the IMS manifest. In one embodiment, the SCO rendering service 2010 organizes the learning assets into the appropriate structure as per the IMS manifest. Next at step 2070, IMS content packaging is applied. In one embodiment the SCO rendering service applies the IMS content packaging. This content packaging may include formatting data into a Package Interchange File (PIF), e.g. as in the ADLCP-PIF1 conformance requirement, e.g., compatibility with PKZIP Version 2.04g. This formatting may include compressing the data into a format compatible with such a standard. The manifest file preferably is named “imsmanifest.xml.” Supporting control documents may be placed in the root of the PIF. The content package preferably contains at least one SCO or asset as defined in the SCORM Aggregation Model. Learning resources identified in the manifest are preferably conformant with the SCO Run-Time Conformant, e.g., SCO-RTE1 standard. The package may be delivered through the interface 2002 for subsequent execution.
  • Thus, learning content may be maintained in a “pristine” state, with a minimum of formatting and styling contained within each content object. The content may then be packaged into a SCO using specific formats, styles, and themes such that the same learning content may rendered into different SCOs, e.g., for use in different settings such as within specific organizations. Thus, a different SCO with an organizationally or personally customized look and feel may be used in each of these settings without affecting the learning content itself, only its rendering. This encourages learning content reuse in situations where lack of customized feel would be aesthetically problematic, e.g., where content is branded for a different organization or where a supplier of branded equipment requires custom branding of static content. Learning content reuse is also enabled where the learning content is provided in different formats, e.g., different form factors such as a large screen computer and a small screen PDA, that would otherwise require maintaining separate instructional content.
  • The foregoing description details certain embodiments of the invention. It will be appreciated, however, that no matter how detailed the foregoing appears in text, the invention can be practiced in many ways. As is also stated above, it should be noted that the use of particular terminology when describing certain features or aspects of the invention should not be taken to imply that the terminology is being redefined herein to be restricted to including any specific characteristics of the features or aspects of the invention with which that terminology is associated. The scope of the invention should therefore be construed in accordance with the appended claims and any equivalents thereof.
    APPENDIX A
    IMS Manifest Example
    <?xml version=“1.0” ?>
    - <manifest xmlns:xsi=“http://www.w3.org/2001/XMLSchema-
      instance”  identifier=“031ijz_2lk81e_-enL”  version=“1.1”
      xsi:schemaLocation=“http://www.imsproject.org/xsd/imscp_roo
      tv1p1p2          imscp_rootv1p1p2.xsd
      http://www.imsglobal.org/xsd/imsmd_rootv1p2p1
      imsmd_rootv1p2p1.xsd
      http://www.adlnet.org/xsd/adlcp_rootv1p2
      adlcp_rootv1p2.xsd”
      xmlns:imsmd=“http://www.imsproject.org/xsd/imsmd_rootv1p
      2p1” xmlns:adlcp=“http://www.adlnet.org/xsd/adlcp_rootv1p2”
      xmlns=“http://www.imsproject.org/xsd/imscp_rootv1p1p2”>
    - <metadata>
       <schema>ADL SCORM</schema>
       <schemaversion>1.2</schemaversion>
       <adlcp:location>manifest_metadata.xml</adlcp:location>
      </metadata>
    - <organizations>
      - <organization identifier=“ORG_031ijz_2lk81e_-enL”>
        <title>English XML</title>
       - <item identifierref=“RESOURCE_SCO_031ijz_2lk81e_-
         enL” identifier=“ITEM_SCO_031ijz_2lk81e_-enL”>
         <title>English XML</title>
        - <metadata>
          <schema>ADL SCORM</schema>
          <schemaversion>1.2</schemaversion>
           <adlcp:location>sco_metadata.xml</adlcp:location>
         </metadata>
        </item>
       </organization>
      </organizations>
    - <resources>
      - <resource identifier=“RESOURCE_SCO_031ijz_2lk81e_-enL”
        type=“webcontent”      adlcp:scormtype=“sco”
        href=“launchsco.html”>
        <file href=“./APIWrapper.js” />
        <file href=“./adlcp_rootv1p2.xsd” />
        <file href=“./controller.html” />
        <file href=“./ims_xml.xsd” />
        <file href=“./imscp_rootv1p1p2.xsd” />
        <file href=“./imsmd_rootv1p2p1.xsd” />
       <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk81e_/staticContentGenerator.html” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk81e_/courseframeset.html” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk81e_/syllabus.pdf” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk81t/myflash1.swf” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk81u/mypic1.gif” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk821/Myvideo1.ram” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk81v/myflash3.swf” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk81w/mypic3.jpg” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk81z/myflash2.swf” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk820/mypic2.gif” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk82k/work_nancy.swf” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/knet/
         031ijz_2lk823/Myvideo3.wmv” />
                             <file
         href=“./CHAPID=null/RLOID=null/RIOID=null/My
         video1.ram” />
        <file href=“./js/client.js” />
        <file href=“./js/content.js” />
        <file href=“./js/docCourseTree4.js” />
        <file href=“./js/exam.js” />
        <file href=“./js/examInit.js” />
        <file href=“./js/examReposition.js” />
        <file href=“./js/examResponse.js” />
        <file href=“./js/feedback.js” />
        <file href=“./js/index.js” />
        <file href=“./js/moreinfo.js” />
        <file href=“./js/navigation.js” />
        <file href=“./js/top.js” />
        <file href=“./manifest_metadata.xml” />
        <file href=“./sco_metadata.xml” />
              <file    href=“./CHAPID=knet-
         031ijz_2lk81f/RLOID=knet-
         031ijz_2lk81g/RIOID=null/knet/031ijz_2lk81e_/chapter
         frameset.html” />
              <file    href=“./CHAPID=knet-
         031ijz_2lk81f/RLOID=knet-
         031ijz_2lk81g/RIOID=null/knet/031ijz_2lk81e_/
         header.html” />
              <file    href=“./CHAPID=knet-
         031ijz_2lk81f/RLOID=knet-
         031ijz_2lk81g/RIOID=null/knet/031ijz_2lk81e_/
         pageframeset.html” />
              <file    href=“./CHAPID=knet-
         031ijz_2lk81f/RLOID=knet-
         031ijz_2lk81g/RIOID=null/knet/031ijz_2lk81e_/content.
         html” />
        <file href=“./jordan/css/style.css” />
        <file href=“./jordan/images/activities.gif” />
        <file href=“./jordan/images/activities_off.gif” />
                             <file
         href=“./jordan/images/checkforunderstanding.gif”
         />
                             <file
         href=“./jordan/images/checkforunderstanding_off.
         gif” />
        <file href=“./jordan/images/content.gif” />
        <file href=“./jordan/images/content_off.gif” />
        <file href=“./jordan/images/practice.gif” />
        <file href=“./jordan/images/practice_off.gif” />
        <file href=“./jordan/images/questions.gif” />
        <file href=“./jordan/images/questions_off.gif” />
        <file href=“./jordan/images/review.gif” />
        <file href=“./jordan/images/review_off.gif” />
        <file href=“./jordan/images/space.gif” />
        <file href=“./jordan/images/vocabulary.gif” />
        <file href=“./jordan/images/vocabulary_off.gif” />
       </resource>
      </resources>
    </manifest
  • APPENDIX B
    Manifest Metadata Example
    <?xml version=“1.0” ?>
    -                          <lom
      xsi:schemaLocation=“http://www.imsglobal.org/xsd/imsmd_root
      v1p2p1              imsmd_rootv1p2p1.xsd”
      xmlns:xsi =“http://www.w3.org/2001/XMLSchema-instance”
      xmlns=“http://www.imsglobal.org/xsd/imsmd_rootv1p2p1”>
    - <general>
      - <title>
        <langstring>Insert CLI Course Title Here</langstring>
       </title>
      - <catalogentry>
         <catalog>Cisco Learning Institute, Virtuoso
         Course</catalog>
       - <entry>
          <langstring>Insert Course Version OID-
          Language(I)nstructor/(L)earner    (e.g.,
          031ijz_2lk81e_-enL) Here</langstring>
        </entry>
          <language>Insert Language Identifier
         Here</language>
       </catalogentry>
      - <description>
        <langstring>Insert CLI Course Title Here</langstring>
       </description>
      - <keyword>
        <langstring>Insert CLI Course Title Here</langstring>
       </keyword>
      </general>
    - <lifecycle>
      - <version>
        <langstring>Insert Version Number Here</langstring>
       </version>
      - <status>
       - <source>
             <langstring    xml:lang=“x-
          none”>LOMv1.0</langstring>
        </source>
       - <value>
         <langstring xml:lang=“x-none”>Final</langstring>
        </value>
       </status>
      </lifecycle>
    - <metametadata>
       <metadatascheme>ADL SCORM(TM) 1.2</metadatascheme>
      </metametadata>
    - <technical>
       <format>text/html</format>
       <location type=“URI”>../index.html</location>
      </technical>
    - <rights>
      - <cost>
       - <source>
             <langstring    xml:lang=“x-
          none”>LOMv1.0</langstring>
        </source>
       - <value>
         <langstring xml:lang=“x-none”>yes</langstring>
        </value>
       </cost>
      - <copyrightandotherrestrictions>
       - <source>
             <langstring    xml:lang=“x-
          none”>LOMv1.0</langstring>
        </source>
       - <value>
         <langstring xml:lang=“x-none”>yes</langstring>
        </value>
       </copyrightandotherrestrictions>
      </rights>
    - <classification>
      - <purpose>
       - <source>
             <langstring    xml:lang=“x-
          none”>LOMv1.0</langstring>
        </source>
       - <value>
           <langstring  xml:lang=“x-none”>Educational
          Objective</langstring>
        </value>
       </purpose>
      - <description>
        <langstring>Insert CLI Course Title Here</langstring>
       </description>
      - <keyword>
        <langstring>Insert CLI Course Title Here</langstring>
       </keyword>
      </classification>
     </lom>
  • APPENDIX C
    SCO Metadata Example
    <?xml version=“1.0” ?>
    -                         <lom
      xsi:schemaLocation=“http://www.imsglobal.org/xsd/imsmd_root
      v1p2p1              imsmd_rootv1p2p1.xsd”
      xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
      xmlns=“http://www.imsglobal.org/xsd/imsmd_rootv1p2p1”>
    - <general>
      - <title>
        <langstring>Insert CLI Course Title Here</langstring>
       </title>
      - <catalogentry>
         <catalog>Cisco Learning Institute, Virtuoso
         Course</catalog>
       - <entry>
          <langstring>Insert Course Version OID-
          Language(I)nstructor/(L)earner     (e.g.,
          031ijz_2lk81e_-enL) Here</langstring>
        </entry>
          <language>Insert  Language  Identifier
         Here</language>
       </catalogentry>
      - <description>
        <langstring>Insert CLI Course Title Here</langstring>
       </description>
      - <keyword>
        <langstring>Insert CLI Course Title Here</langstring>
       </keyword>
      </general>
    - <lifecycle>
      - <version>
        <langstring>Insert Version Number Here</langstring>
       </version>
      - <status>
       - <source>
           <langstring    xml:lang=“x-
          none”>LOMv1.0</langstring>
        </source>
       - <value>
         <langstring xml:lang=“x-none”>Final</langstring>
        </value>
       </status>
      </lifecycle>
    - <metametadata>
       <metadatascheme>ADL SCORM(TM) 1.2</metadatascheme>
      </metametadata>
    - <technical>
       <format>text/html</format>
       <location type=“URI”>../index.html</location>
      </technical>
    - <rights>
      - <cost>
       - <source>
             <langstring    xml:lang=“x-
          none”>LOMv1.0</langstring>
        </source>
       - <value>
         <langstring xml:lang=“x-none”>yes</langstring>
        </value>
       </cost>
      - <copyrightandotherrestrictions>
       - <source>
             <langstring    xml:lang=“x-
          none”>LOMv1.0</langstring>
        </source>
       - <value>
         <langstring xml:lang=“x-none”>yes</langstring>
        </value>
       </copyrightandotherrestrictions>
      </rights>
    - <classification>
      - <purpose>
       - <source>
             <langstring    xml:lang=“x-
          none”>LOMv1.0</langstring>
        </source>
       - <value>
           <langstring  xml:lang=“x-none”>Educational
          Objective</langstring>
        </value>
       </purpose>
      - <description>
        <langstring>Insert CLI Course Title Here</langstring>
       </description>
      - <keyword>
        <langstring>Insert CLI Course Title Here</langstring>
       </keyword>
      </classification>
     </lom>

Claims (16)

1. A system for dynamically generating course material for a Sharable Content Object Reference Model (SCORM) compliant learning system, comprising:
a first module configured to dynamically generate course material to be taught to a student; and
a second module configured to convert said dynamically generated course material into SCORM compliant course material.
2. The system of claim 1, wherein said first module is configured to store content for said course material as data objects, and generate said course material by linking together said data objects.
3. The system of claim 2, wherein said data objects are learning objects.
4. The system of claim 3, wherein said learning objects are Extensible Markup Language (XML) data objects.
5. The system of claim 1, wherein said first module is configured to retrieve content data objects from a content database server.
6. The system of claim 1, wherein said second module comprises XSLT.
7. The system of claim 6, wherein said second module comprises instructions for selecting style or theme for said course material.
8. The system of claim 1, wherein said SCORM compliant course material is SCORM 2004 compliant course material.
9. The system of claim 1, wherein said second module is configured to create a SCORM manifest that provides a list of the components of said SCORM compliant course material.
10. The system of claim 9, wherein said SCORM manifest comprises an Extensible Markup Language (XML) file.
11. A method of generating Sharable Content Object Reference Model (SCORM) compliant course material, comprising:
providing a database of data objects, wherein said data objects comprise course material;
selecting a theme or style for said course material;
applying said theme or style to said data objects to create stylized course material displayed in said theme or style; and
packaging said stylized course material to create SCORM compliant course material.
12. The method of claim 11, wherein said data objects are learning objects.
13. The method of claim 12, wherein said learning objects are Extensible Markup Language (XML) objects.
14. The method of claim 11, wherein said applying said theme or style comprises XSLT.
15. The method of claim 11, wherein packaging said stylized course comprises generating a manifest.
16. The method of claim 15, wherein said manifest comprises an Extensible Markup Language (XML) manifest.
US11/209,205 2004-08-20 2005-08-22 System and method for content packaging in a distributed learning system Abandoned US20060068368A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/209,205 US20060068368A1 (en) 2004-08-20 2005-08-22 System and method for content packaging in a distributed learning system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60300404P 2004-08-20 2004-08-20
US11/209,205 US20060068368A1 (en) 2004-08-20 2005-08-22 System and method for content packaging in a distributed learning system

Publications (1)

Publication Number Publication Date
US20060068368A1 true US20060068368A1 (en) 2006-03-30

Family

ID=36099643

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/209,205 Abandoned US20060068368A1 (en) 2004-08-20 2005-08-22 System and method for content packaging in a distributed learning system

Country Status (1)

Country Link
US (1) US20060068368A1 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060099561A1 (en) * 2004-11-08 2006-05-11 Griph Gerald W Automated assessment development and associated methods
US20060134593A1 (en) * 2004-12-21 2006-06-22 Resource Bridge Toolbox, Llc Web deployed e-learning knowledge management system
US20070112703A1 (en) * 2005-11-15 2007-05-17 Institute For Information Industry Adaptive teaching material generation methods and systems
US20070209004A1 (en) * 2004-05-17 2007-09-06 Gordon Layard Automated E-Learning and Presentation Authoring System
US20080263055A1 (en) * 2007-04-20 2008-10-23 Sanjaya Kumar Taxonomy-Based Platform for Comprehensive Health Care Management
US20100047757A1 (en) * 2008-08-22 2010-02-25 Mccurry Douglas System and method for using interim-assessment data for instructional decision-making
US20100120009A1 (en) * 2008-11-13 2010-05-13 Yukon Group, Inc. Learning reinforcement system
CN101819724A (en) * 2010-05-04 2010-09-01 北京莲宇时空科技有限公司 Virtual training software platform based on SCORM (Sharable Content Object Reference Model)
US20110065082A1 (en) * 2009-09-17 2011-03-17 Michael Gal Device,system, and method of educational content generation
US20110145293A1 (en) * 2009-12-11 2011-06-16 Samantha Stewart Methods, Systems, and Products for Creating Sharable Objects
US20110306027A1 (en) * 2010-06-15 2011-12-15 Blue Tech, LLC Open and interactive e-learning system and method
US20120107786A1 (en) * 2010-10-29 2012-05-03 Agile.Net Inc. Method of creating a foundational instructional design model for shareable content objects
US20120156667A1 (en) * 2010-12-17 2012-06-21 Gadi Singer Structure and adaptive apparatus for online educational learning through trusted mass collaboration
US20130266922A1 (en) * 2010-01-15 2013-10-10 Apollo Group, Inc. Recommending Competitive Learning Objects
WO2015013296A3 (en) * 2013-07-23 2015-03-05 Healthcare Compliance Pros, Inc. Customizing informational modules that are distributed hierarchically
US20150310751A1 (en) * 2014-04-24 2015-10-29 Indu Tolia Augmented reality assisted education content creation and management
US10269450B2 (en) 2013-05-22 2019-04-23 Quantros, Inc. Probabilistic event classification systems and methods
US11599810B2 (en) * 2020-08-28 2023-03-07 KnowBe4, Inc. Systems and methods for adaptation of SCORM packages at runtime with an extended LMS

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303042A (en) * 1992-03-25 1994-04-12 One Touch Systems, Inc. Computer-implemented method and apparatus for remote educational instruction
US5779486A (en) * 1996-03-19 1998-07-14 Ho; Chi Fai Methods and apparatus to assess and enhance a student's understanding in a subject
US5788504A (en) * 1995-10-16 1998-08-04 Brookhaven Science Associates Llc Computerized training management system
US20020143873A1 (en) * 2000-11-28 2002-10-03 David Lamp Method and apparatus for learning content creation and reutilization
US20040205580A1 (en) * 2002-05-23 2004-10-14 Mindflash Technologies, Inc. Method and system for document management
US20050102322A1 (en) * 2003-11-06 2005-05-12 International Business Machines Corporation Creation of knowledge and content for a learning content management system
US20050131970A1 (en) * 2003-12-15 2005-06-16 International Business Machines Corporation Customizable data translation method and system
US20050203931A1 (en) * 2004-03-13 2005-09-15 Robert Pingree Metadata management convergence platforms, systems and methods

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303042A (en) * 1992-03-25 1994-04-12 One Touch Systems, Inc. Computer-implemented method and apparatus for remote educational instruction
US5788504A (en) * 1995-10-16 1998-08-04 Brookhaven Science Associates Llc Computerized training management system
US5779486A (en) * 1996-03-19 1998-07-14 Ho; Chi Fai Methods and apparatus to assess and enhance a student's understanding in a subject
US20020143873A1 (en) * 2000-11-28 2002-10-03 David Lamp Method and apparatus for learning content creation and reutilization
US20040205580A1 (en) * 2002-05-23 2004-10-14 Mindflash Technologies, Inc. Method and system for document management
US20050102322A1 (en) * 2003-11-06 2005-05-12 International Business Machines Corporation Creation of knowledge and content for a learning content management system
US20050131970A1 (en) * 2003-12-15 2005-06-16 International Business Machines Corporation Customizable data translation method and system
US20050203931A1 (en) * 2004-03-13 2005-09-15 Robert Pingree Metadata management convergence platforms, systems and methods

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070209004A1 (en) * 2004-05-17 2007-09-06 Gordon Layard Automated E-Learning and Presentation Authoring System
US7631254B2 (en) * 2004-05-17 2009-12-08 Gordon Peter Layard Automated e-learning and presentation authoring system
US20060099561A1 (en) * 2004-11-08 2006-05-11 Griph Gerald W Automated assessment development and associated methods
US20060134593A1 (en) * 2004-12-21 2006-06-22 Resource Bridge Toolbox, Llc Web deployed e-learning knowledge management system
US20070112703A1 (en) * 2005-11-15 2007-05-17 Institute For Information Industry Adaptive teaching material generation methods and systems
US20080263055A1 (en) * 2007-04-20 2008-10-23 Sanjaya Kumar Taxonomy-Based Platform for Comprehensive Health Care Management
US20100047757A1 (en) * 2008-08-22 2010-02-25 Mccurry Douglas System and method for using interim-assessment data for instructional decision-making
US20100120009A1 (en) * 2008-11-13 2010-05-13 Yukon Group, Inc. Learning reinforcement system
US20110065082A1 (en) * 2009-09-17 2011-03-17 Michael Gal Device,system, and method of educational content generation
US20110145293A1 (en) * 2009-12-11 2011-06-16 Samantha Stewart Methods, Systems, and Products for Creating Sharable Objects
US20130266922A1 (en) * 2010-01-15 2013-10-10 Apollo Group, Inc. Recommending Competitive Learning Objects
US9583016B2 (en) 2010-01-15 2017-02-28 Apollo Education Group, Inc. Facilitating targeted interaction in a networked learning environment
CN101819724A (en) * 2010-05-04 2010-09-01 北京莲宇时空科技有限公司 Virtual training software platform based on SCORM (Sharable Content Object Reference Model)
US20110306027A1 (en) * 2010-06-15 2011-12-15 Blue Tech, LLC Open and interactive e-learning system and method
US8784113B2 (en) * 2010-06-15 2014-07-22 Aaron H Bridges Open and interactive e-learning system and method
US20120107786A1 (en) * 2010-10-29 2012-05-03 Agile.Net Inc. Method of creating a foundational instructional design model for shareable content objects
US20120156667A1 (en) * 2010-12-17 2012-06-21 Gadi Singer Structure and adaptive apparatus for online educational learning through trusted mass collaboration
US10269450B2 (en) 2013-05-22 2019-04-23 Quantros, Inc. Probabilistic event classification systems and methods
WO2015013296A3 (en) * 2013-07-23 2015-03-05 Healthcare Compliance Pros, Inc. Customizing informational modules that are distributed hierarchically
US20150310751A1 (en) * 2014-04-24 2015-10-29 Indu Tolia Augmented reality assisted education content creation and management
US11599810B2 (en) * 2020-08-28 2023-03-07 KnowBe4, Inc. Systems and methods for adaptation of SCORM packages at runtime with an extended LMS
US11847579B2 (en) 2020-08-28 2023-12-19 KnowBe4, Inc. Systems and methods for adaptation of SCORM packages at runtime with an extended LMS

Similar Documents

Publication Publication Date Title
US20060068368A1 (en) System and method for content packaging in a distributed learning system
US20060068367A1 (en) System and method for content management in a distributed learning system
US20020138841A1 (en) System for distributed learning
US20050287509A1 (en) Learning objects in an electronic teaching system
US20060286536A1 (en) System and method for regulating use of content and content styles in a distributed learning system
US6882825B2 (en) System and method for providing help/training content for a web-based application
US20020188583A1 (en) E-learning tool for dynamically rendering course content
US7873588B2 (en) Mobile e-learning method and apparatus based on media adapted learning objects
US20040010629A1 (en) System for accelerating delivery of electronic presentations
US20020102524A1 (en) System and method for developing instructional materials using a content database
US20090031215A1 (en) Method and apparatus for generating an electronic learning presentation in a network computing environment
US20030078934A1 (en) Dynamic content delivery system
US20050202392A1 (en) Web service api for student information and course management systems
US20110270873A1 (en) E-learning authorship based on meta-tagged media specific learning objects
CA2516125C (en) Systems and methods for contextual mark-up of formatted documents
US20110295785A1 (en) Mobile e-learning method and apparatus based on media adapted learning objects
US20140344673A1 (en) System and method for enhancing interactive online learning technology
AU2007252284A1 (en) Providing user assistance for a software application
AU2002252216A1 (en) System for distributed learning
Kröger et al. Web Services for the Integration of XML-based Content into Learning Platforms: a Three-level Model
Fontana et al. MATRIX MULTI-PLATFORM an e-Learning Environment to Manage Distributed Platforms and Heterogeneous Contents
Arndt et al. An XML-Based Approach to Multimedia Engineering for Distance Learning
Wiest et al. XML in web-based training: Workflow and opportunities
Raghunathan VLE course and authoring system: A framework to offer courses on the Internet
Newberg et al. Implementing a Student Allele Database via the World Wide Web

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION