Your Source for Learning
Technology, Strategy, and News
    [Forgot Password?]
ARTICLES      
RSS feed RSS feed

A Reusable Article on Reusable Components

"Component-based development can be used to create components which can, in turn, be used in various learning activities and information sharing activities. The main benefit of component-based development is time and cost savings. Develop components with reuse in mind. Start building your component library now with enterprise-specific components, and by integrating commercially available components."
112105DES.qk

Companies waste thousands of dollars, if not millions, every year on redundant development of various information components such as presentations, courses, marketing materials, graphics, etc. Usually different people in different departments develop these components, and the results often end up representing similar or common ideas. To help reduce this waste, I believe that organizations should consider implementing a centralized component-based approach to development.

Component-based development is a strategy that can reduce both the cost and the time needed to develop software applications. However, this strategy has applications beyond software development. In fact, component-based development is related in many ways to the concepts of learning objects and knowledge objects.

Component-based development involves the creation of components that individually perform a single discrete or unique function. Developers can then reuse these components, or combine them, to make new components that perform additional functions. The main objective of component-based development in e-Learning is similar to its objective in software development: to reduce time and costs related to the assembly of products.

There has been much discussion and confusion over what the term “object” actually means when discussing learning. I have seen the terms knowledge object, learning object, and instruction object used interchangeably. I prefer to use the term “component” here to define a discrete and reusable entity, and to avoid the use of the term “object.” Also, “object,” in the field of object-oriented programming has its own meaning with a much different set of characteristics.

Benefits of component-based development

There are several benefits of component-based development:

Reuse

Probably the most common benefit, and the one most easily realized, is reuse. One can use components built for one project in other projects and even in other components. A proper reuse strategy can lead to significant cost savings, as well as to reduced development time.

Central management

Centrally-located components are very easy to change or to update. A change to a centralized component means that the change will appear immediately in all its linked presentations, documents, and e-Learning applications.

Dynamic construction

Learners and organizations can dynamically create training modules that are specific to the individual learner. The result is a learning experience unique to the individual learner. This “to order” production may well contribute to the overall motivation of the learner. The training will be more specific, and could eliminate unnecessary background information which the learner has already mastered. In addition, training solutions can be created “on the fly” to match different learning styles.

Course assembly

As I will discuss later in this article, there are several different kinds of components. Creation of each of these will require specific skills and expertise. For example, a content component consisting of a process diagram might require subject matter experts and graphic artists to create. An instructional designer would create the instructional component that demonstrates the process. Once created, non-technical people without any instructional design expertise can assemble courses by using these components as needed.

Standardization

Using this approach, components conform to standards for layout, graphics type, metadata, etc.

Not everyone supports the notion of component-based development. Some people argue that components designed for reuse lack subject context alignment. In other words, components originally designed and developed for one project may lack the context required to satisfy a particular learning objective when used in another project. However, in my experience, properly implemented component-based development does not compromise the educational values.

What is a component?

To recap what I said at the beginning of this article, a component is a self-contained entity, created independent of other components, which one can reuse or combine with other components to create new components. To get maximum benefit from a component, it should perform only one unique function.

Each component ideally includes a certain amount of descriptive information that allows developers to find and use it easily in a variety of learning products. This descriptive information, commonly known as metadata (data about data), comprises the attributes that best describe and categorize a component for maximum access and reuse. For example, the content component mentioned previously under the discussion of course assembly may have metadata that describes:

  • Name
  • Description
  • Category
  • Media Type (Graphic, Text, Video, or Audio)
  • Size
  • Keywords
  • Format (gif, txt, doc, etc.)
  • Resolution, orientation, caption, etc.

This metadata helps developers decide whether and how to use this component when creating other components. (Editor’s note: The metadata elements the author suggests in this article do not conform to standard SCORM or Dublin Core usage. Depending on your situation, you may wish to select your metadata elements from among those included in one of the formally endorsed versions of the Dublin Core. This decision will affect your ability to more widely distribute your learning materials, both within and beyond your own organization. In the editor’s opinion, compatibility with standards does matter, and It is often simpler to be proactive about metadata than to try to backfit metadata elements later. For more information on Dublin Core metadata elements,please refer to http://dublincore.org/documents/dces/.)

Combining and reusing components can support more efficient and effective learning. The more independent and unique a component is, the more reuse there can be.

Reuse approach

Organizations often don’t realize it but they can be much more efficient in the development and distribution of information and learning material. I have seen many organizations struggle with the redundant creation of information (e.g., one department creates an organization chart to be included in a presentation while another department creates the same chart for an employee orientation course).

Earlier, I said that components are discrete and reusable, and that they can be combined into other components which are also discrete and reusable.

By “discrete” I mean that a component satisfies one objective or performs one specific function. For example, a simple component could be a graphic of “a picture of car.” The objective of this component would be “to show what a car looks like.” A text component could describe the “characteristics of a car.” Another component could be a graphic such as, “a picture of a truck.” The objective of this component would be “to show what a truck looks like.” A text component could also describe the “characteristics of a truck.” The graphic component and the text component of the car, when combined, create a new component which “provides information about a car.” Similarly, the graphic component and the text component for the truck combine to create a new component which “provides information about a truck.” Combining and reusing these two “information” components could form another component which “describes information about vehicles.”

Reusable components provide maximum benefit when implemented at the enterprise level in electronic form. Authors and designers can include the components in manuals, books, or other fixed presentation forms as well as in e-Learning products.

Level of implementation

At the enterprise level, an organization supports component-based development with libraries, databases, development standards, publishing standards, templates, etc. The organization should have a clear strategy for developing components, for storing and managing these components, and for linking to and reusing them. The strategy would also provide guidelines for creating and accessing the learning components. In this way, developers can share learning components across other projects.

Component-based development also has some benefits even when implemented by an individual developer. If there is no enterprise approach to component-based development, an individual developer who sets up libraries, databases, development standards, publishing standards, etc., will be able to reuse components as learning objects in other projects.

There is no need to develop all components in-house — some organizations purchase part or all of

the components they need. This can be as simple as buying clip art for presentations or lessons. In addition, you may find articles and other content online that can support your course (provided you respect the copyrights). There are also vendors who specialize in providing learning components that you can include in your component library.

Component types

There are many components that can exist at various levels within any given learning domain. In my practice, I have classified these components as content components, knowledge components, instruction components, learning components, and learning products. (See Figure 1.) Each of these classifications describes a level of components as part of the complete hierarchy. As you might expect by now, components that perform specific functions can be combined to form another type of component at the same level or higher.

 

Figure 1 The hierarchy of component types (the most fundamental are toward the bottom of the figure)

 

Content component

A content component is the simplest form of information. (See Figure 2.) A content component represents fundamental information in a form such as text or a still image. These components have the greatest potential for reuse.

 

Figure 2 Four kinds of content components

 

 

 

 

Placing content components in libraries that are centrally located and globally accessible accommodates reuse. A simple example of such a repository is the clip art library that comes with your word processor or presentation software. These libraries usually have hundreds of pictures, audio, and videos. Examples of public and commercial media libraries are: www.clipart.com or http://images. google.com

The reuse of a content component is simplest when it is only available to one person, the developer, and when such reuse and distribution does not violate the software license or copyright. An alternative approach would be to set up a corporate repository where all employees could store content files that they have created on common storage such as a shared network drive. One needs to index and document the files so that they can easily be located.

Content component reuse

Reuse potential is very high for content components. Content components are basic ingredients for the development and construction of other types of components. The quickest and easiest way for an enterprise to begin implementing these components is to set up standards and strategies for maintaining and cataloging content components. One should also index, reference, and integrate commercially available content libraries with those created by the organization.

Metadata

Content components are one kind of Asset file under the Shareable Content Object Reference Model (SCORM). Consequently, they are searchable so appropriate metadata will have to be included with each content component. Content components could use metadata elements such as: Name, Description, Category (Business, Education, etc.), Content Type (Graphic, Text, Video, or Audio), Size, Keywords, Format (gif, txt, doc, etc.), resolution, orientation, caption, etc.

Knowledge component

A knowledge component is a combination of one or more content components. (See Figure 3.) An example of a knowledge component would be a Web page used to provide information about a classical guitar. This page could contain a picture of a guitar, the text describing the guitar, and an audio clip to demonstrate what the guitar sounds like. The picture, text, and audio clip are all previously created content components reused in this knowledge component.

 

Figure 3 Knowledge components, whether simple or complex, consist of content components.

 

 

 

 

A knowledge component represents or describes a basic form of knowledge or information, such as a fact, a concept, a procedure, a structure, a process, or a principle. Facts and concepts are simple knowledge components. A fact represents one piece of knowledge. A concept (type) classifies knowledge of the same type. Simple knowledge components are also components of complex knowledge components. Procedures (steps), structures (parts), processes (how things work), and principles (analysis) are complex knowledge components.

To extend the guitar example, a fact component which describes a guitar’s machine head could combine with another fact component describing the guitar’s nut, to create a structure component describing the guitar’s headstock. The headstock  structure component could then combine with a fretboard fact component, and a tuner fact component, to create the guitar’s neck structure component. The neck component and body component could then combine to create a guitar structure component which describes the parts of the guitar.

Knowledge component reuse

Reuse can be high for knowledge components. Developers use knowledge components in constructing instruction components and learning components, the next two levels in the hierarchy.

Knowledge components can also find application on their own, independent of instructional components and learning components, when the only objective is to inform and not to promote learning. Keep in mind, however, that one should always enhance informing or providing information through the creation of instruction and learning components. This is so one can better engage the recipient of the information through use of instructional strategies.

Metadata

Knowledge components can use a variety of metadata elements: Name, Description, Category (Business, Education, etc.), Knowledge Type (Fact, Concept, Procedure, Process, Principle, or Structure), Size, Keywords, Format (html, doc, ppt, etc.).


(0)
I appreciate this article

Comments

Login or subscribe to comment

Be the first to comment.

Related Articles

(Press Release) Texas A&M University-Commerce announces the launch of a new, totally online Master of Science degree for practitioners in eLearning.
Enterprises today are increasingly “projectized” – life in many enterprises is a “hairball,” according to Karen Soskin, and project management is the tool that tames that hairball. It is important that those who manage and participate in eLearning development be able to integrate into this methodology. Soskin explains the rationale in this video interview.
Adobe has taken the wrapper completely off of Creative Suite 6. Here’s the rundown on the pricing, subscriptions, powerful new features – and a fly in the ointment.