What is a Learning Object? Part 2
What is a Learning Object?
– A Software Developer’s Perspective
This month at Wisc-Online we are featuring a series of posts that look at the definition and purpose of learning objects from several different perspectives. This post looks at how computer science influenced the original concepts and development of learning objects. In a world according to Wikipedia, the classic definition of a learning object goes something like this:
Wisc-Online has been in the learning object business since 1999. When we started, learning objects were the white knight that was going to revolutionize education. The inspiration for learning objects, and hence the abstract nature of the name, comes from a meeting of the minds between luminaries in academia and computer science.
Computer science produced the paradigm Object Oriented Programming (OOP), which promised to bring clarity, along with reuse of code, to the art of computer programming. The concept that everything can be considered an object, and should be governed by the single responsibility principle, played a large part in defining learning objects.
As in computer science, any topic, subject, or lesson can be abstracted into an object. By decomposing (Comp-Sci speak,) or chunking (instructional design jargon,) a lesson down into its most granular form, a learning object would have a singular and solitary responsibility. By tagging learning objects with additional information, thanks again to inspiration from computer science, learning objects should be packaged with metadata, maximizing reusability. Theoretically, upon meeting these requirements, learning objects in larger repositories would allow faculty to string together and compose a digital learning experience to cover a lesson in any subject matter. If we re-examine the classic definition of learning objects, this time through the lens of Object Oriented Programming, the parallels are clear.
Object Oriented Programming, for the most part, lived up to the hype and went on to become the preferred approach to writing software – the Wisc-Online website is absolutely written as an OOP application. The programming team behind the scenes wouldn’t have it any other way.
OOP has served computer science well because objects are commonly defined within a context. Computer programmers refer to this context as the problem domain. If software is developed for use by an education-centered organization, you will likely find objects called Student, Course, Instructor, etc. If it is retail software, you will find Order, Customer, and Product objects. OOP does result in reusability, however, unless an object is strictly utility purposed, that reuse typically never occurs outside of the problem domain. A Student object makes no sense in a line of business retail application. And there’s the rub – the classic definition of learning objects is devoid of context. In fact, some learning object purists believe that a learning object with context should not be considered a learning object at all – the greater the context the less potential for reuse.
By the classic definition, the letter A is a learning object. It is certainly reusable, we can tag it with metadata, and it is an epitome of granularity. But is it usable granularity? Well… no; without context it is essentially meaningless.
How has this theoretical idea of learning objects fared in the real world? Some of the recent consensus concludes that the great learning object experiment was a failure and learning objects have been pronounced dead. We feel that it depends on who is answering that question.
At Wisc-Online, we see learning objects everywhere we look (Khan Academy, TED, and YouTube for example). But then again, we have always thought about learning objects differently. We refined our definition to include not just granularity, but usable granularity. At Wisc-Online we value context over reusability. If a learning object is not usable in the first place, what good is reusability?