Adaptive Hypermedia for Music Instruction
Introduction
Adaptive hypermedia are specific types of hypertext applications that gather information about the user, create a user profile, and then tailor the content presented to the user according to that profile. There are various methods by which one can provide this individualized presentation, but all adaptive hypermedia are alike in that they feature some sort of user profile that guides the application. Adaptive hypermedia are used in search engines to limit the size of the hyperspace, in "Help" applications or databases, and probably most commonly in educational applications where instructional material can be tailored to the individual learner.
Adaptive Techniques
There are two primary methods by which a computer application can "adapt" to its user. First, the program can provide navigational aids, a technique referred to as adaptive navigation support. This type of adaptation, which enhances the functionality of the program's hyperlinks, can be accomplished by hiding non-relevant hyperlinks, ordering the links according to the user's abilities or desires, guiding the user to the best next link, or providing some sort of annotation for each link to better guide the user's traversal through the hyperspace. Second, the actual content of the pages can be altered according to the user profile, a technique called adaptive presentation. This method is most often used when the intended users of an adaptive application possess many different levels of experience or differing backgrounds. Users enter information about themselves sometimes by providing a self-assessment of their abilities in a specific subject area, which is then used to determine the type of information best suited to their needs. I will confine my comments here to adaptive presentation techniques.*1
Adaptive hypermedia applications can adapt to various factors about the user. Five common areas upon which these applications often focus are the user's goals in using the application, their existing knowledge about the topic, their background in the area of focus or in the field, their hyperspace experience, and their preferences.*2 Two of theseknowledge and backgroundare especially important considerations when designing educational applications, since variations in abilities can greatly affect the facility with which students learn and understand a new topic. User preferences are also important, since students may wish to access the types of instructional materials most suited to their own style of learning.
To evaluate the profile, most adaptive hypermedia employ an overlay model in which the specific domain of knowledge is represented by an interrelated structure of its main concepts. The application compares the profile containing the user's knowledge about each of these concepts with the structural model and adapts the content accordingly. The stereotype model is somewhat less complicated than the overlay model. This method solicits information and uses it to place the user into one of several stereotypical groups, such as Beginning, Advanced, or Experienced. The content presented to the user is then adapted according to these pre-determined classifications.
Adapta-Tutor: Design of the Program
Adapta-Tutor, an adaptive hypermedia application currently under development, contains lessonsfrom basic scales and triads to cadence types and harmonic progressionsthat are designed to assist students learning basic concepts in music theory. Its intended audience includes lower-level music theory students and anyone needing a refresher in basic harmonic principles. Students who might benefit the most from this tutor often possess many different backgrounds and levels of experience in music theory. They also have different styles by which they prefer to learn this type of material; some prefer an exclusively written format, while others benefit from immediate aural reinforcement of basic concepts. The information gathered in the user profile reflects not only a basic level of experience, but also the user's preferences in terms of types of instructional materials.
To address these varying backgrounds and preferences, I use adaptive presentation techniques to individualize the lesson content for each user as much as possible. Students begin by choosing one of three stereotypical instructional levels: Review for the novice, Basic for the intermediate student, and Advanced for those needing only a refresher. Once this self-assessment is complete, they select the types of instructional material they prefer to access. The default lesson for all levels is a combination of text and musical examples, but students may also add to the lesson interactive drills and/or ear training drills. The core material for each topic is found at the Basic level of instruction. This content is then adapted by adding additional materials to the Review and Advanced lessons. As Fig. 1 shows, additional concepts in the Review lesson focus upon underlying concepts, while those at the Advanced level add supplemental information.
Fig. 1. Typical Lesson

Deciding what materials to add to these Review and Advanced lessons is a challenge. Novice users, for example, need not only an introduction to the topic at hand, but often a review of underlying terms and concepts is beneficial as well. If this user chooses a lesson on scales, chances are they have a tenuous grasp of intervals, the pattern of intervals in a scale, how to name intervals, and so on. The optional drills also support this focus on review. If the novice accesses interactive drills in the scale lesson, they find drills structured around a knowledge and mastery of the intervallic structure of scales. The ear training drills for the same lesson focus again on the intervallic structure of scales, not necessarily a complete scale in a particular context. The same approach is found in the Review level lesson on triads or 7th chords, where students identify not the complete chords, but what type of intervals are used to construct and name them. Many experienced users, however, are ready to progress beyond the topic at hand. Their lesson contains the same basic information about scales, but it also presents additional information about the church modes and how they developed into our present-day scales. Similarly, the advanced lesson on triads shows examples of two- and three-part counterpoint to demonstrate the context in which triads were conceptualized. The interactive drills and ear training exercises here focus on the identification of scales within a musical context and are more difficult than the exercises and drills in the other two classifications.
The lessons are designed to encourage repeat visits. If a novice user successfully completes the appropriate lessons on triads, he or she may return to the tutor for a refresher at the novice or intermediate level. Similarly, the intermediate user may wish to visit each lesson again at the advanced level for their own interest and also to test their comprehension of the topic. The advanced user is probably the least likely to desire, or need, additional visits to the same lesson.
Technical Details
Adapta-Tutor is written in HTML, DHTML, and Javascript.*3 The tutor makes use of Netscape's capabilities to display content "on the fly" from inline layers originating on separate HTML files. The user first visits the entry page. Here, he or she chooses a topic, the level of instruction, and the types of instructional material desired. The information gathered at this page, entered with standard radio buttons and checkboxes, serves as the user profile that determines the material displayed for each lesson. When the student has finished entering this information, they click on the link at the bottom of the page to begin the lesson. This link takes them not to a pre-existing HTML page, but instead calls a Javascript function to create a new window, in front of the existing one, where the lesson will be displayed.
The content for each lesson does not exist as a discrete HTML file. As Fig, 2 shows, it is drawn from different files on the computer's hard drive. When the lesson window is created, the Javascript function tests variables from the user profile with a series of if-then statements. If the variable for lesson type is set to 7th Chords, for example, we enter another conditional statement to set the level of instruction. And, within that set of instructions are other conditional statements to add (or omit) the various types of drills or ET exercises according to the preferences of the user. The content of all these files is displayed sequentially in the new window, using DHTML and its capability to display inline layers, which are shown on the page in whatever order they are called.*4
Fig. 2: Flowchart, Adapta-Tutor

After the lesson window is opened, the following Javascript code displays content (in this case, a Triad lesson at the Review level) in the newly created window. If the appropriate checkboxes are checked on the entry page, interactive drills and ear training exercise are also displayed to the user by the if-then statements testing for the checkboxes of forms[2] (shown below near the bottom of the code).
if (LessType == "Triads") {
if (Level == "Review") {
newWindow.document.write("<ILAYER SRC='Triads/TrBas1.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrBas2.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrRev1.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrRev2.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrRev3.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrBas3.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrBas4.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrBas5.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrBas6.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrBas7.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrRev4.htm'></ILAYER>");
if (document.forms[2].elements[0].checked) {
newWindow.document.write("<ILAYER SRC='Triads/TrDrlR.htm' NAME=TrDrlLayer></ILAYER>");
}
newWindow.document.write("<ILAYER SRC='Triads/TrRev5.htm'></ILAYER>");
newWindow.document.write("<ILAYER SRC='Triads/TrBas8.htm'></ILAYER>");
if (document.forms[2].elements[1].checked) {
newWindow.document.write("<ILAYER SRC='Triads/ET_R.htm'
NAME=ETDrlLayer></ILAYER>");
}
}
The code for the Review lesson is followed by similar sequences for Basic and Advanced users. Each lesson in the tutor, generated in this manner by a similar sequence of Javascript code, consists of a collection of small chunks of information drawn from their own HTML file, all displayed in a single window.
The playable drills and examples were first entered into a notation program (Finale or Nightingale) and saved as MIDI files. They can then be imported into the Macintosh Movie Player application and saved as Quicktime movies. Of course, the user must have the Quicktime browser plugin installed on their computer in order to access these sound files.
Conclusion
Although adaptive hypermedia can vary greatly, the basic structure of such applications feature the basic design discussed here. In educational applications the potential is limitless. One can adapt an application to the skill level of a student, but it is conceivable that other types of adaptation will eventually be developed. This inherent flexibility allows adaptive hypermedia to provide valuable enhancements to almost any type of instruction in today's digital environment and the capability to deliver them over the Internet only increases their potential.
*1 For a more thorough discussion of these terms and methods, see Peter Brusilovsky, "Efficient Techniques for Adaptive Techniques." In Intelligent Hypertext: Advanced Techniques for the World Wide Web, Charles Nicholas and James Mayfield (Eds.). Lecture Notes in Computer Science, ed. Gerhard Goos, Juris Hartmanis, Jan van Leeuwen, no. 1326, 12-30. Berlin: Springer Verlag, 1997.
*2 Brusilovsky, Peter. "Methods and Techniques of Adaptive Hypermedia," User Modeling and User-Adapted Interaction 6 (1996): 95.
*3 It is not my intent to provide a full account of the coding for the program, but I provide a few details here for those already familiar with Javascript and DHTML.
*4 For additional information on adaptive hypertext models, see Judy Kay and Bob Kummerfeld, "User Models for Customized Hypertext." In Intelligent Hypertext: Advanced Techniques for the World Wide Web, ed. Charles Nicholas and James Mayfield, 47-69. Lecture Notes in Computer Science, ed. Gerhard Goos, Juris Hartmanis, Jan van Leeuwen,, no. 1326. Berlin: Springer Verlag, 1997.