Electronic Books in Digital Libraries 1 Introduction - CiteSeerX

1 downloads 0 Views 169KB Size Report
chapter objects at the next level followed by section objects, subsection objects, and ..... prerequisite dependencies a→c and b→c always imply the prerequisite ...
Electronic Books in Digital Libraries1 Gultekin Ozsoyoglu, N. Hurkan Balkir, Graham Cormode, Z. Meral Ozsoyoglu Case Western Reserve University Cleveland, Ohio 44106 (tekin, balkir, grc3, ozsoy)@ces.cwru.edu

Abstract Electronic book is an application with a multimedia database of instructional resources, which include hyperlinked text, instructor’s audio/video clips, slides, animation, still images, etc. as well as contentbased information about these data, and metadata such as annotations, tags, and cross-referencing information. Electronic books in the Internet or on CDs today are not easy to learn from. We propose the use of a multimedia database of instructional resources in constructing and delivering multimedia lessons about topics in an electronic book. We introduce an electronic book data model containing (a) topic objects and (b) instructional resources, called instruction module objects, which are multimedia presentations possibly capturing real-life lectures of instructors. We use the notion of topic prerequisites for topics at different detail levels, to allow electronic book users to request/compose multimedia lessons about topics in the electronic book. We present automated construction of the “best” user-tailored lesson (as a multimedia presentation.

1 Introduction Presently, a large number of user manuals and books are made available in electronic form over the Internet or in CD-ROMS. These electronic books are typically large, usually contain hyper-linked table of contents, indexed search facilities on keywords, and occasionally have multimedia data such as images, maps, and audio/video streams. Most of the time, the sheer size of these electronic books and their static and black box nature impede the user in effectively learning from such books. One commonly hears the frustration of electronic book readers in trying to learn topics from electronic books or in finding an answer to a specific question that they have. We think that new techniques and tools are needed for modeling, querying, “teaching” and “learning” from electronic books. We use the term electronic book as an application with a multimedia database of instructional resources containing, among others, pre-captured multimedia presentations about topics in the book. Our goal is designing techniques for the automated and/or query-based assembly of lessons from electronic books. In doing so, we pay attention to the Computer-Assisted Learning (CAL) literature, and use some of the existing CAL techniques as much as possible. As examples, we use the notions of “over-the-shoulder” guidance of users [Hg96], and interactivity [Sc93, BHW91, Sims98] in our environment. We propose electronic books as learning environments. We assume that multimedia presentations of instructors about topics in a book are captured and enhanced with content-based information, tags, annotations, etc. We call each such unit of data an instruction module, or simply a module2, and maintain it in the database of an electronic book. This way, a content-based model of instruction modules is provided. The DBMS maintains user profiles (such as users’ knowledge levels about topics covered in the electronic book), and allows automated or query-based construction of user-tailored multimedia lessons for a given topic. In short, an electronic book is an application with a multimedia database, and has the ability to a) model its data, b) maintain users’ knowledge about topics covered in the electronic book, c) keep a (possibly, growing) list of multimedia instruction modules of instructors, e.g., about the electronic book’s original author’s teaching sessions as well as the teaching sessions of other instructors, d) automatically or manually create multimedia lessons as multimedia presentations, and

1

This research is supported by the National Science Foundation grants IRI96-31214 and CDA95-29513. As an example, an instruction module can be an enhanced, tagged, annotated, and catalogued version of a course lecture, a tutorial, or a seminar. It may contain instructor’s audio/video clips, student’s audio/video clips (asking questions and interacting with the instructor), whiteboards, animated data, slides, text, etc [ECP98].

2

e)

enable users to learn about ad hoc topics or to obtain answers to specific questions using a mixture of searching, browsing and querying.

In essence, an electronic book application, together with its database, automated lesson construction techniques and a query language, provides controlled, interactive and over-the-shoulder-guided learning environments. Clearly, such applications can be used for independent, remote and distance learning as well. This paper 1) extends electronic books with a data model containing (a) topic hierarchies, (b) instruction modules of instructors about topics in the book, (c) prerequisite dependencies specifying the order of teaching different topics at different knowledge levels, (d) user profiles with explicit knowledge levels on each topic, (e) table of contents (TOC) hierarchies, (f) relationships between various instructional resources such as topic hierarchies, TOC hierarchies, keywords, references, assignments, assignment solutions (as text data or as instruction modules), tests, etc., 2) introduces the notions of teaching and learning topics, by using multimedia presentations, called lessons, constructed from instruction modules, and 3) discusses automated lesson construction techniques for assembling the “best” lesson from instruction modules in an automated manner, given the user’s request for learning a set of topics. We now briefly review the related work. There has been a large number of research studies [Car93, Car98] in which computer-aided instruction (CAI) was compared with conventional instruction in a controlled research environment. The conclusion is that CAI students realize higher achievement in significantly less time than the conventionally instructed students. Advantages of using multimedia in learning have also been reported in the literature [Rs94, Br90, Sc93, BHW91, Kz91, RK94]. All of these works, however, do not refer to the maintenance and rendering of pre-captured, modeled and enhanced multimedia data, according to the knowledge levels of users. To the best of our knowledge, our electronic book data model, automated lesson construction, and querying for possible lessons are all new contributions. Lessons, i.e., multimedia presentations, can also be viewed as directed graphs. The database systems G+ [CMW88] and Hy+ [CoM90, CoM93] visualize the database as a graph, and formulate a query as a set of graphs patterns, to be matched against the database. The Graph-Oriented Object Database model [GPV90a, GPV90b, GPBV94] represents the database as a graph. GraphDB [Gut94] explicitly allows modeling and querying of graphs. One can also view the world-wide web (www) as a directed graph, and formulate queries based on the contents of web pages [FLM98]. Query languages for the web include WebSQL [MeMM97, A+97], Weblog [LaSS96], W3QL [KoS95, KoS98], WebOQL [ArM98, Aroc97], WQL [LS+98], STRUQL[FF+97], FLORID [H+97, L+98], ULIXES [MeMM98], Lorel [AQ+97], Dataguides [GW97], and UnSQL [BDHS96, Bune97]. Multimedia data modeling research [Sub98] involves, among others, conceptual modeling of video data [DDIKG95] and synchronous delivery of presentations [LGf91]. Research on multimedia query languages and query processing techniques [YuM98] include multi-similarity algebra [ABSS98, ASS99], query processing for video information systems [AC+96], query generation from visual interfaces for multimedia data [LCHH97], query languages and query processing techniques for presentations [LSBa99, LSBb99], video retrieval system query processing techniques [LSYR98], and video algebra [WeDG95]. Research on multimedia presentations [CaC95] involve collaborative multimedia systems [CaSR98], synchronization modeling [Pr96, BlSt96], presenting multimedia data using presentation control types [Hoep91a], and graph-based and/or constraint-based techniques for authoring multimedia presentations [OzHK96, HakO97, HKO99]. Section 2 lists the main features of a data model for electronic books, to be used as a basis in the rest of the paper. Section 3 discusses prerequisite dependencies. In Section 4, we discuss automated construction of the best lesson for a specific lesson construction request. Section 5 concludes.

2 Electronic Book Data Model We use an object-oriented data model for electronic book databases with the following object types and properties. • Electronic book objects of type: text, tables, figures, pictures, pie-charts, histograms, maps, images. Text objects are paginated with page objects containing some of the above-listed objects as well as hyperlinks to different objects.

2

• Topic Hierarchies. In hardcopy books, topics, in their simplest form as keywords, appear as part of a book index at the end of each book. We allow topics to be defined as phrases or keywords. Topics form a main component in our electronic book data model. Topics are organized into a “topic hierarchy” (TP hierarchy); please see Figure 2.1. In hardcopy books, the TP hierarchy itself is not used. For each topic, we assume that there are a number of integer-valued topic detail levels describing how advance the level of the topic is. To illustrate topic detail levels, for example, the knowledge of a user on the topic “relational calculus” can be at a beginner (i.e., detail level 1) level, e.g., only “relational calculus with propositional calculus formulas”. Or, it may be at an advanced (say, detail level n) level, e.g., “relational calculus and its safety”, etc. Topic x at detail level i is more advanced (i.e., more detailed) than topic x at detail level j when i>j. Databases Chapter 1

Data Models

Query Languages

Chapter 2 Chapter 3

O-O

E-R

Relational

RelQL



OQL

RA RC SQL Exp. Power …

Relational Calculus

TOC hierarchy

Figure 2.1 Parts of a Topic Hierarchy

Topics

Figure 2.2 Mappings Between TOC Hierarchy Objects and Topics • Text objects that are classified into a Table of Contents (TOC) hierarchy with the book object at the top level, chapter objects at the next level followed by section objects, subsection objects, and so on. This is the traditional classification hierarchy used in hardcopy textbooks, and also available in (some) electronic books today. Figure 2.2 illustrates the mappings between TOC hierarchy objects and topics. • User profiles contain the knowledge levels of users about topics as well as users’ preferences. Other information kept in user profiles may be sections (chapters, examples, pictures, etc.) of electronic books that are read/viewed by users, the number of times each section is taught, and the time spent on sections. If the user has learned the topic x at level n then we say that the user’s knowledge level of topic x is at level n. For a given user and a topic, the knowledge level of the user on the topic (zero, originally) is kept in the user profile. • Multimedia instruction modules on topics. The main component of an instruction module, or simply module, is a synchronized multimedia presentation which contains audio/video segments of instructors/students/teaching assistants as well as images, text, animation, whiteboards used by the instructor/students, etc. In addition to the multimedia presentation, an instruction module also contains a content-based model of the multimedia data in the presentation. As an example, the content-based model captures information like “Instructor John Doe explains with an example the (topic) Relational Algebra Divison operator in the audio/video segment #3”. In Figure 2.3, using the horizontal x-axis as a timeline, (the multimedia presentation component of) an instruction module is illustrated. Possibly, an instruction module is captured in real-time from a live lecture/teaching session in an automated manner3. It is then analyzed and enhanced by a domain expert (instructor or someone highly trained in the subject matter) by identifying important and relevant parts and content information, tagging different media, cross-referencing, etc. Finally, we assume that an electronic book administrator (EBA), a computer expert, modifies the database by entering the structure of the presentation (in the instruction module), defining the content-based model and entering content data, etc. into the database. We expect that the process of instruction module creation will be a labor-intensive, but one-time, task involving the joint expertise of the domain expert and the EBA.

3

We have built such a tool from an electronic classroom project [ECP98].

3

Window 1: Student1

Audio/Video

Window2: Still Images

Still Image A

Window3: Animation

2

Audio/Video

Still Image B

4

Still Image C

Animation N

Window4: Instructor Lectures

Audio/Video

1 Video Only

6 A/V

3

Video Only

Time: 0

7

A/V

5 Time:30

Figure 2.3 Multimedia Presentation Component of an Instruction Module • Prerequisite Dependencies. Some hardcopy textbooks (e.g., see [Sav96]) provide “dependency diagrams” in an attempt to help instructors/students choose the order of topic coverage. For example, the prerequisite to discussing the topic relational algebra in a database course is the coverage of the topic relational data model. We formalize this concept into the concept of “prerequisite dependencies” among topics, and use it and the existing instruction modules in the database, for automated lesson (i.e., multimedia presentation) construction. For example, we may have the prerequisite dependency “the topic relational algebra (ra) should be taught after teaching the topic relational data model (rm)”. That is, the teaching dependency raÅrm holds. In a given course, if topic y is a prerequisite to another topic x (i.e., x→y holds), for the cohesiveness of the course, the instructor makes sure that topic y is covered first, and topic x is covered next. We require that, when a student requests a lesson (a multimedia presentation) on x, and has not yet been rendered those instruction modules that correspond to y then the constructed lesson should also have the instruction modules that correspond to y. Please note that we actually use prerequisite dependencies among topics at different detail levels, e.g., the prerequisite dependency ra 4Årm1 states that “the prerequisite to teaching relational algebra at the detail level 4 is teaching relational data model at the detail level 1 or higher”. As an illustration, consider the interpretation of the two prerequisite dependencies shown in Figure 2.4 (a). (1) If topic x at level 3 is presented in a lesson, say S, then topic y at level 2 or higher must either (i) be in S, or (ii) have been taught before. That is, the prerequisite dependency x3→y2 holds. Please note that, in this prerequisite dependency, the right hand side specifies “topic y at level 2 or higher”, as opposed to “topic y at level 2”. (2) If topic x at level 5 is presented in a lesson, say S, then topic y at level 4 or higher must either (i) be in S, or (ii) have been taught before. That is, the prerequisite dependency x5→ y4 holds. • Various relationships between object classes; e.g., mappings between instruction modules and topics as illustrated in Figure 2.5. For the sake of simplicity, we will assume that each topic maps to a set of modules4. • Users request multimedia lessons from the electronic book. Each lesson is a sequence of (multimedia presentation components of) instruction modules, as defined above. Thus, a lesson is also a multimedia presentation, constructed from multiple modules, and refined by the system. One of the main responsibilities of the electronic book application is to construct “semantically coherent” lessons (that satisfy the prerequisite dependencies and other user-defined constraints) from instruction modules. We say that lesson S containing a set of instruction modules covers topic t at level i if S contains all the instruction modules in the mapping from the topic t at level i to the set of instruction modules.

4

In practice, a topic may only map to parts of a module, e.g., “the first 20 minutes of the instruction module M is about the topic Relational Algebra”.

4

Topic x

Topic y

1 2 3 4 5 6

1 2 3 4 5

(a) A Consistent Specification

Topic x

Topic y 1 2 3 4 5

1 2 3 4 5

Topics

Instruction Modules M1 M2

T1

M3 M4

(b) An Inconsistent Specification

T2

M5

Figure 2.4 Prerequisite Dependencies

Figure 2.5 Mappings between Topics and Instruction Modules • For the sake of simplicity, in this paper, we assume that there is a total ordering of all the instruction modules in the database so that, for a given lesson L containing a number of instruction modules to be rendered (i.e., played out), modules in L are ordered into a sequence. Thus, any chosen sets of modules are always ordered by this total ordering in order to form a lesson 5. We now define the notions of teaching and learning. Definition (Teaching): Topic t is said to be taught at level i if a lesson that covers the topic t at level i and all the prerequisite topics of t at level i are rendered to the user at least once. Such a lesson is said to be a teaching lesson for topic t at level i. For each user, we keep in the database those topics that are taught, the dates and the number of times they are taught, instruction modules played out, etc. • For each topic and its level, there is a timed test in the database that evaluates the users’ knowledge on the topic at that level. The test is passed when the user obtains a score above a pre-defined threshold. As in a traditional classroom environment, testing is not always sufficient by itself to make sure that topics are “learned” by electronic book users. And, clearly, learning from an electronic book is directly associated with the contents of pre-captured and refined instruction modules that are used to construct lessons. Developing a deeper learning behavior for electronic book users is a research topic for education specialists. In this paper, we will make the, perhaps insufficient, assumption that, for electronic book users, given a topic, passing the associated test constitutes “learning” the topic at that level. Thus, we will not deal with learning at different taxonomy levels, as specified by Bloom [Bl56]. Definition (Learning): Topic t is said to be learned at level i by a user if the user passes the test for t at level i. A learning lesson for topic t at level i is a lesson that includes in it the test for t at level i.

3 Prerequisite Dependencies Prerequisite dependencies can be defined in different ways. One approach is for the electronic book administrator to enter the dependencies directly into the system. Another approach is the automated creation of prerequisite dependencies: the electronic book DBMS can be instructed to create a prerequisite dependency x→z from topic x to topic z when the number of references to topic z in (the instruction modules of) topic x exceed a predetermined threshold, say, K. Similarly, DBMS can create a prerequisite dependency xy→z when the number of references to topic z in (the instruction modules of) topics x and y exceed K, even though 5

In practice, instruction modules are partitioned due to variety of reasons (e.g., modules of the same instructor, modules of the same course), and a total ordering exists within only a given partition, leading to a more complex model.

5

the number of references to topic z in x or y alone may be less than K. “References to topic z” can be (i) references to z itself or to its descendant topics in the topic hierarchy of z, or (ii) the occurrences of “keywords” of z.

3.1

Consistency of Prerequisite Dependencies

We expect that, in different electronic book environments, different and possibly domain-dependent consistency requirements will exist for prerequisite dependencies. As domain-independent consistency example, consider the following rules. Consistency Rule #1: For a dependency xa→xb, the property a>b always holds. That is, for a given topic, if there is a prerequisite dependency within its levels, the dependency is always from a higher (i.e., more detailed; more advanced) level to a lower (i.e., less detailed) level. In order to teach a topic at a given level, it may be necessary to teach it first at a simpler level, but never at a more advanced level. Consistency Rule #2: For two dependencies xa→yb and xc→yd, if aa, x at level c is a more detailed (i.e., more advanced) topic than x at level a. Thus, teaching x at level c should necessitate teaching y at a level at least as advanced as b, i.e., y at level d where d is at least as high as b. As an example, the two dependencies in Figure 2.4 (b) violate the consistency rule, and are not allowed together. The following consistency requirement may apply to some, but not necessarily all, electronic book environments. Consistency Rule #3: If there is a dependency from x (at any level) to y (at any level) then, for each level i of x, there is a dependency from x at level i to y at some level.

3.2

Computing Topic and Prerequisite Dependency Closures

Prerequisite dependencies may be a) cyclic (e.g., x→x forms a trivial cycle; x→y and y→x form a non-trivial cycle). The alternative is to allow only acyclic prerequisite dependencies (e.g., trivial or non-trivial cycles are not allowed), b) (left-hand-side) decomposable (e.g., xy→z is equivalent to x→z and y→z) or nondecomposable (e.g., xy→z is not equivalent to x→z and y→z). We first define what it means for a set of dependencies to be acyclic. Def’n: A set of dependencies is strongly cyclic if, applying the rule of transitivity, it is possible to deduce that a topic depends on itself. For example, the set F = {X → Y, Y → Z, Z → X} is strongly cyclic. This still holds if X represents a set of topics. Def’n: A set of dependencies is weakly cyclic if, treating the set of dependencies as decomposable and applying the rule of transitivity it is possible to deduce that a topic depends on itself. For example, the set F = {WX →Y, YZ →V, V →W} is weakly cyclic. A set of dependencies is considered to be acyclic if it is neither weakly cyclic nor strongly cyclic. Absence of weak cycles implies absence of strong cycles. The simplest prerequisite dependency model that is commonly used in hardcopy textbooks allows only acyclic and decomposable prerequisite dependencies. However, one can also have electronic book environments in which prerequisite dependencies are cyclic and/or nondecomposable. Consider the case of a cycle of three prerequisite dependencies, namely, xÅy, yÅz, zÅx among topics x, y, and z. We interpret the existence of this cycle as “in any lesson request having one of topics x, y, or z, the instruction modules that cover all three topics must be included into the constructed lesson”. Clearly, this attaches a separate semantics to a cycle of prerequisite dependencies, which overrides the semantics of each individual prerequisite dependency in the cycle. As for decomposability, consider the prerequisite dependency abÅc which states that “ a and b together in a presentation request have c as the prerequisite” or “the prerequisite of a and b is c”. We say that abÅc is nondecomposable if abÅc does not imply that aÅc and bÅc. (Note that the reverse is always true, i.e., the

6

prerequisite dependencies aÅc and bÅc always imply the prerequisite dependency abÅc)6. Below we illustrate a case in which prerequisite dependencies are nondecomposable. Example 3.1. Assume s, q, and r represent the topics SQL, Query-by-Example, and Relational Calculus, respectively. When a lesson about both SQL and Query-by-Example, both at level 2, is requested, it may make sense to include Relational Calculus at level 1 into the lesson for completeness (thus, the prerequisite dependency s2q2→r1). However, we may not require Relational Calculus to be included into the lesson if only one of SQL or Query-by-Example is requested (e.g., s2q2→r1 is not equal to s2→r1 and q2→r1). In the rest of this section, we discuss how to compute topic and/or prerequisite dependency closures when prerequisite dependencies are cyclic/acyclic and decomposable/nondecomposable. 3.2.1

Cyclic and Nondecomposable Prerequisite Dependencies

If prerequisite dependencies are nondecomposable and allowed to be cyclic then their semantics is equivalent to the semantics of functional dependencies. That is, prerequisite dependencies can be axiomatized using Armstrong’s axioms, which are sound and complete [Ullm88]. One can then compute P+, the closure (i.e., the set of implied prerequisite dependencies) of a set P of prerequisite dependencies. More interestingly, one can find the closure (i.e., all the prerequisite topics) X+ of a set X of topics by using the O(N.L) closure algorithm for a set of attributes [Ullm88] where N is the number of prerequisite dependencies, and L is the length of the encoding for a prerequisite dependency. Assume that there is a nondecomposable prerequisite dependency xyÅz in the database. First, the user u asks for a lesson which includes x, but does not include y or z. Later, the user u asks for another lesson which includes y, but does not include x or z. As a result of these two lessons, user u will be taught x and y, but not z, thus violating the prerequisite dependency xyÅz. One possible solution to this problem is to utilize the user profiles. Since user profiles contain users’ knowledge about all instruction modules that are taught to the user, topic z coverage can be added to the second lesson request when topic y is requested (it is known in the user profile that x is taught to the user before).

3.2.2

Acyclic and Decomposable Prerequisite Dependencies

If prerequisite dependencies are acyclic and decomposable then a given topic cannot be a prerequisite to itself. This means that the reflexivity axiom for functional dependencies does not apply to prerequisite dependencies of this model. Similarly, augmentation axiom of functional dependencies does not apply either7. Also, this model allows prerequisite dependencies of the form xy→z to be equivalent to x→z and y→z, which is not true for functional dependencies. For this case, to find the closure P + of a set P of prerequisite dependencies, we can first “fully” decompose all prerequisite dependencies into P’ so as to have only one topic in the left-hand-side and the righthand-side of each dependency. Then, we can create a dependency graph GP(V,E), where V is the set of topics, and the set E of edges contains the edge from node a to node b iff P’ contains the prerequisite dependency aÅb. The closure P+ of P can then be found by finding the transitive closure of GP. And, the closure X+ of a set of topics X can be found by finding all topics that contain nodes in GP reachable from each of the nodes in X. Also note that we can check the acyclicity of a set of prerequisite dependencies in this model by simply checking the existence of a cycle in its precedence graph in linear time. 3.2.3

Cyclic and Decomposable Prerequisite Dependencies

If prerequisite dependencies are cyclic and nondecomposable then finding the closure P+ of a set P of prerequisite dependencies is identical to the solution of section 3.2.2 above. We first “fully” decompose all prerequisite dependencies in P into P’ so as to have only one topic in the left-hand-side and the right-hand-side of each dependency. Then, we create the dependency graph GP(V,E), where V is the set of topics, and the set E of 6

When prerequisite dependencies are automatically created by the DBMS as discussed in the first paragraph of section 3, their semantics implies nondecomposable prerequisite dependencies. 7 Given x→y and z, zx→zy is valid for functional dependencies. However, for prerequisite dependencies, when z is replaced by x, we have xx→xy, which creates a trivial cycle and is not allowed.

7

edges contains the edge from node a to node b iff P’ contains the prerequisite dependency aÅb. The closure P+ of P can be found by finding the transitive closure of GP. And, the closure X+ of a set of topics X can be found by finding all nodes in GP reachable from each of the nodes in X. 3.2.4

Acyclic and Nondecomposable Prerequisite Dependencies

If prerequisite dependencies are acyclic and nondecomposable then the left-hand-side of a prerequisite dependency may contain multiple topics. In this case, one may think of using a dependency graph where the node from which an edge emanates contains a set of topics. Such a graph leads to a hypergraph as a dependency graph. However, unlike the solutions in sections 3.2.2 and 3.2.3, the transitive closure of such a graph would not capture all the dependencies. Consider, for example, the set of dependencies {x→a, ab→c}, and the request for the closure of the set {x, b} of topics. The transitive closure of the dependency graph returns {x, a, b} as the answer whereas the correct answer should be {x, a, b, c}. Thus, transitivity itself is not sufficient for topic closure. Below we give a sound and complete axiomatization for this case, and describe a topic closure algorithm. 3.2.4.1 Axiomatization and Closure Computation We observe that Armstrong's Axioms, used to axiomatize standard functional dependencies, are not appropriate when acyclicity is demanded. The axiom of reflexivity generates trivial (weak) cycles, as does the axiom of augmentation. Def’n: Pseudo-transitivity axiom: If X→Y and WY→Z then WX→Z. Def’n: Split/join axiom: if X→AB then X→A and X→ B, and vice-versa. Theorem 1: The pseudo-transitivity and split/join axioms are sound and complete. Proof: Omitted due to space requirements. Please see [C99] for details. The following algorithm computes the closure of a set of topics X. Algorithm: 1. X(0) is set to empty. 2. X(i+1) is X(i) U {y} such that there is a dependency in F of the form Xi → y, where Xi ⊆X U X(i) and y ∉X. The algorithm terminates when X(j)=X(j+1) (when no dependency can be invoked), and the output X+ is X(j). Clearly it will always terminate. Lemma 1: Algorithm 1 correctly computes X (+). Proof: Omitted due to space requirements. Please see [C99]. This algorithm can be implemented naively to check through the set of dependencies at each iteration to see whether any new topics can be added. A more efficient implementation is described in [Ullm88], which runs in time linear in the size of the dependencies (counting one for each topic which appears in each dependency). Finally, we show that our system does not break the condition of acyclicity. Lemma 2: Computation of the closure of a set of topics X under a set F of acyclic nondecomposable dependencies does not violate acyclicity. That is, X ⇒X+ will not imply any cycles. Proof: Omitted due to space requirements. Please see [C99].

4 Automated Lesson Construction When users request a lesson from an electronic book in an automated manner, what types of constraints would they attach to their requests? We list some possibilities: (a) Lessons about topics. An example request is “prepare a lesson on topics x at level i and y at level j”. (b) an upper bound tUB on the time length of the lesson. An example is “prepare a lesson on topic x which is at most 30 minutes long”.

8

(c) Lessons constructed around tests, assignments, quizzes, chapters, etc. An example is “Prepare a lesson on (the topics covered in) the current assignment”. Since we assume that there are mappings from tests, quizzes, assignments, chapters, etc., into topics, these requests reduce to requests of type (a) above, and we will not deal with such requests. (d) A quantifiable increase, say integer k, on the user’s knowledge level(s) on a given topic. An example is “prepare a learning lesson (i.e., one with tests) on topic x that, if I pass the tests in the lesson, increases my current knowledge on topic x by k units (e.g., from “beginner” to “intermediate”)”. (e) Lessons constructed around instruction module contents, e.g., “prepare a lesson that contains all the audio/video question streams of student John Smith”. One can characterize such lesson requests as requests of the type “prepare a lesson request that contains instruction modules (or their media components) satisfying a boolean condition C about module contents”. We discuss these requests in section 5. In this section, we characterize and classify “typical” automated lesson construction requests, and discuss how they can be evaluated.

4.1

Automated Lesson Construction Requests

The lesson construction requests described in this section have different solutions for each prerequisite dependency case (1-4) described in Section 3.2. The differences between the solutions are in the calculation of topic closures and in the handling of cycles. Topic closure calculation is included in deciding the complexity of the algorithms: topic closure can be calculated in O(N) for all four cases where N is the number of topics in the database and the length of a dependency encoding is one. Lesson Request 1. Given (a) the user’s knowledge levels for topics, (b) the set X of topics, and (c) prerequisite dependencies in the electronic book, produce a lesson that teaches topics X, in the order given, at the highest levels. Request 1 can be evaluated by a polynomial-time algorithm. First, we calculate the topic closure X + of X using the highest detail level. Then we eliminate the topics known by the user from X+. The last step is to find the instruction modules that map to the topics that are left in X+, and to order them (using their total ordering) to obtain a lesson. Steps 1 has complexity O(N) where N is the number of topics in the database, and steps 2 and 3, each, have O(M) complexity, where M is the number of topics in X+. Lesson Request 2. Given (a) the user’s knowledge levels for topics, (b) prerequisite dependencies in the electronic book, (c) the set X of topics, and (d) an upper bound tUB on the lesson timelength, produce within the time bound tUB a lesson that teaches all the topics in X, in the order given in X, at the highest equal possible levels. Request 2 can also be evaluated by a polynomial-time algorithm, which is given in Figure 4.1. Request 2 Algorithm: 1) CurrentLevel := 0; 2) time := 0; 3) repeat 4) begin 5) CurrentLevel = CurrentLevel + 1; 6) Find the topic closure X+ of topics in X for each topic at the CurrentLevel; 7) Eliminate from X+ the topics that are already known by the user to obtain Y; 8) time := sum of the time to present the topics in Y ; 9) end 10) until time>tUB; (time exceeds the upper bound tUB) Algorithm complexity: O(LN) where N is the number of topics in the database and L is the maximum number of detail levels. Figure 4.1 Algorithm for Evaluating Request 2 Lesson Request 3. Given (a) the user’s knowledge levels for topics, (b) the set X of topics and priorities attached to topics in X, (c) prerequisite dependencies in the electronic book, and (d) an upper bound tUB on the lesson timelength, produce a lesson of duration tUB or less that has the highest total priority. Theorem 2. Request 3 is a NP-Complete problem. Proof: Omitted due to space requirements. Please see [Ozs99].

9

The following request asks for a lesson that maximizes the number of topics taught from the user’s list of chosen topics. Lesson Request 4. Given (a) the user’s knowledge levels for topics, (b) the set X of topics, (c) prerequisite dependencies in the electronic book, and (d) an upper bound tUB on the lesson timelength, produce a lesson of duration tUB or less that teaches as many of the topics in X as possible. Theorem 3: Request 4 is NP-Complete. Proof: Omitted due to space requirements. Please see [C99]. Section 4.2 describes four heuristics, proposed for evaluating Requests 3 and 4; and Section 4.3 gives the evaluation of the four heuristics for Request 4. The algorithm in Figure 4.2 uses the heuristics of Section 4.2 in evaluating Request 4. Request 4 Algorithm: time := 0; results := {}; repeat begin Pick topic x from X using one of the heuristics in section 4.2; Find the topic closure x+ of x at the highest detail level; Eliminate from x+ the topics that are already known by the user, to obtain y results := results U y; time := time + time of y; end until time > tUB; Algorithm complexity: O(N) where N is the number of topics. Figure 4.2 Algorithm for Evaluating Request 4. Lesson construction requests above dealt with constructing teaching lessons, i.e., lessons with no tests. The requests below are for construction learning lessons, i.e., lessons with tests, where the user’s knowledge levels about topics are evaluated. Lesson Request 5. Given (a) the user’s knowledge levels for topics, (b) prerequisite dependencies in the electronic book, and (c) an upper bound tUB on the lesson time length, produce a learning lesson of duration tUB or less for topics X such that, if the tests in the lesson are passed, the sum of the level increases on topics in X is maximized. Theorem 4: Request 5 is NP-Complete. Proof: Omitted due to space requirements. Please see [Ozs99]. An approximate algorithm similar to the one in Figure 4.2 can also be used for evaluating Request 5. Lesson Request 6. Given (a) the user’s knowledge levels for topics, (b) prerequisite dependencies in the electronic book, (c) the set X of topics, (d) an upper bound tUB on the lesson time length, and (e) integers tp and k, produce a learning lesson of duration less than tUB that, if the tests in the lesson are passed, increases the user’s knowledge levels on at least tp topics in X by at least k levels.

4.2

Heuristics for Expensive Lesson Requests

Best Base Heuristic (BB): Find the topic x in X which is a prerequisite to the largest number of topics in X; and add the corresponding instruction modules into the lesson being constructed. The motivation for heuristic BB is that if a topic x is included in a lesson, it will satisfy, as much as possible, the prerequisite requirement of other topics in X. To find x, we find the prerequisites of each topic in X. Next, we calculate the number of times a topic appears in the prerequisite lists of other topics in X. The topic with the highest prerequisite count is chosen. Example 4.1. Assume that the knowledge level of the user is zero on all topics; X = {a4, b6, c5, d6, e5, f4}; the instruction modules of all topics at all levels take the same amount of time, say t, to present (e.g. a4 takes 4t time to

10

present); total time allowed for the presentation is 20t; and the prerequisite dependencies are a 4Åb5, c4Åa4, d6Åb3, and e3Åf2. Using Table 4.1, we calculate the prerequisite count (the number of times a topic appears in the second column) for a as 1, b as 3, c as 0, d as 0, e as 0, and f as 1. Using heuristic BB, b will be the first topic included in the result. A solution set of topics using BB would be {b6, a4, f4, c5} with duration 19t. Any other solution set with four or more topics which does not include b will have a duration longer than 20t. Clearly, for this example, including b as the first topic into the solution by heuristic BB is a good choice. Lowest Detail Level Heuristic (LDL): Find the topic with the lowest detail level, which is not known by the user, and add the corresponding instruction modules into the lesson being constructed. To include: We need to include: a b b c b and a d b e f f Table 4.1 Prerequisites for Example 4.1

To include: We need to include a b and f b f c a, b and f d b and f e f f Table 4.2 Prerequisites for Example 4.4.

The motivation for heuristic LDL is that lower detail levels of topics are more likely to be prerequisites to other topics. Then, it is easier to include a topic in a lesson if the prerequisite of the topic is already included in a lesson. Hence, adding the topic with the lowest detail level into the lesson being constructed increases the chances of other topics in X being included. Example 4.2. Assume that the knowledge level of user is zero on all topics; X = {a4, b6, c3, d6, e4, f4}; all topics at all levels take the same amount of time (t) to present (e.g. a4 takes 4t to present); total time allowed for the presentation is 15t; and the prerequisite dependencies are a4Åc2, b4Åc1, d6Åb3, and e3Åf2. Using heuristic LDL, c will be the first topic included in the result as it has the lowest detail level unknown to the user. A solution set of topics using LDL would be {c3, a4, f4, e4} with duration 15t. Any other solution set with four or more topics will have duration longer than 15t, which is not acceptable. Including c as the first topic into the solution by the heuristic LDL allows us to include other topics that depend on c, and is clearly a good choice. Highest Number of Detail Levels Heuristic (HNDL): Find the topic with the highest number of detail levels that is not known by the user, and add the corresponding instruction modules into the lesson being constructed. The motivation for heuristic HNDL is that a topic with high number of detail levels has a higher chance of being a prerequisite to other topics than a topic with a low number of detail level. Similar to LDL, including more prerequisites in a lesson increases the chances of other topics in X to be included into the lesson. Example 4.3. Assume that the knowledge level of user is zero on all topics; X = {a4, b6, c4, d4, e4, f5}; a topic at level x takes x*t time to present (e.g. a4 takes 4t time to present); total time allowed for the presentation is 15t; and the prerequisite dependencies are a 4Åb6, c4Åb6, d4Åb6, b6Åf5 and e4Åf5. Using heuristic HNDL, b will be the first topic included in the result as it has the highest number of detail levels unknown to the user. A solution set of topics using HNDL would be {b6, f5, a4} with duration 15t. Any other solution set with three or more topics will have a duration of at least 15t, which is not any better than the solution found by HNDL heuristic. Including b as the first topic into the solution by the heuristic HNDL allows us to include other topics that depend on b, and is clearly a good choice. Lowest Number of Prerequisites Heuristic (LNP): Find the topic with the lowest number of prerequisites (that are not known by the user), and add the corresponding instruction modules into the lesson being constructed. The motivation for heuristic LNP is that we expect to include more topics by choosing topics with few prerequisites. Example 4.4. Assume that the knowledge level of user is zero on all topics; X = {a5, b6, c5, d6, e3, f4}; a topic at level x takes t*x time to present (e.g. a5 takes 5t time to present); total time allowed for the presentation is 20t; and the prerequisite dependencies are a 5Åb6, c5Åa5, d6Åb6, b6Åf4, and e3Åf4. Then the number of prerequisites for a is 2 (i.e., b6 and f4), b is 1 (i.e., f4), c is 3 (i.e., a5, b6 and f4), d is 2 (i.e., b6 and f4), e is 1 (i.e., f4), and f is 0. Using heuristic LNP, f will be the first topic included in the result. A solution set of topics using LNP would be {f4, e3, b6, a5} with duration 18t. Any other solution set with four or more topics, which does not include f, will have a duration of at least 22t. Clearly including f as the first topic into the solution by the heuristic LNP is a good choice.

11

4.3

Evaluating the Expected Case Behavior of the Heuristics

This section describes the experiments conducted to evaluate the expected performances of the four heuristics described above. The heuristics and the acronyms that are used in the rest of this section are given in Table 4.3. Heuristic Name Acronym Best Base Heuristic BB Lowest Detail Level Heuristic LDL Highest Number of Detail Levels Heuristic HNDL Lowest Number of Prerequisites Heuristic LNP Table 4.3 Heuristics To evaluate the heuristics, we have simulated an electronic classroom. Electronic classroom is an education environment where students decide on the length and the content of a presentation about a lecture using various constraints. 4.3.1 Electronic Classroom Environment We have used four components (users, topics, dependencies, and requests) to model the electronic classroom environment, summarized in Table 4.4. Table 4.5 lists the parameters and their respective ranges in our simulations. Users: This component represents the users of the system, and contains information about users’ knowledge of topics. For each topic, information about the highest detail level known by the user is kept. Component user topic dependency

Parameters amount of knowledge about each topic and detail level topic depth, length of each detail level in secs. topic name and detail level of where the dependency originates and ends request a set of topic and detail level two-tuples that define a user request Table 4.4 Components of the simulation.

Topics: The number of detail levels for each topic is controlled by the topic depth parameter. Also, information about the length (in seconds) of each detail level of each topic is stored in this component. In our simulation, the length of a detail level for a topic varied between 1 minute and 15 minutes, and the number of topics varied between 200 to 2000. Dependencies: These components correspond to prerequisite dependencies which have the form xkÅyl, where x and y are topics, and k and l are detail levels. The number of dependencies in each simulation run varied depending on the number of topics and number of detail levels within a topic. Requests: Users increase their knowledge levels by lesson requests from the system. Requests contain a set of 2tuples of topics and detail levels. The size of requests in our simulation varied between 2 topics and 20 topics. Component Parameters # of topics 200 – 2000 topic depth (# of detail levels) 2 – 20 length of a detail level of a topic 1-15 minutes # of dependencies in a given run 20 – 20000 length of a request 2 – 20 topics presentation length 10 – 120 minutes Table 4.5 Parameters of the simulation environment and their corresponding ranges. 4.3.2

Experimental Results for Lesson Request 4

12

% of requested topics presented

Number of Prerequisite Dependencies 90 Theoretical Best

80

BBH

70

LNPH

60

LDLH

50

HNDLH

40 6

12 18 24 30 36 42 48 54 60 # prerequisite dependencies (in hundreds)

Figure 4.4. Effects of Changing the Number of Prerequisite Dependencies The first set of results (Figure 4.4) show the effects of changing the number of prerequisite dependencies. In this experiment, we have kept the following parameters constant: the number of topics 1000, topic depth 12, length of a topic detail level 10 minutes, presentation length 60minutes, and length of requests 10 topics. There are five curves displayed on Figure 4.4; one for each of the four heuristics and one for the theoretical best for the percentage of requested topics presented. For all five curves, as the number of prerequisite dependencies increases, the number of presented topics decreases. This result is expected as increasing the number of prerequisite dependencies increases the length of the presentation of topics, and hence decreases the chances of topics being included into the resulting lesson. All heuristics performed within 7% of the theoretical maximum. Among the heuristics, LNP performed the best while HNDL performed the poorest.

% of requested topics presented

T opic D epth

90 T heoretical B est

80

BBH

70

LN P H LD LH

60

H N D LH

50 40 2

4

6

8

10

12

14

16

18

20

# detail levels

Figure 4.5. Effects of Changing the Number of Detail Levels Figure 4.5 shows the effect of the topic depth (i.e., the number of detail levels) on the % of requested topics presented. In this experiment, we have kept the following parameters constant: number of topics 1000, length of a topic detail level 10 minutes, presentation length 60 minutes, and length of requests 10 topics. The number of prerequisite dependencies (400-4000) is changed proportional to the change in the number of detail levels (2-20). The results are similar to prerequisite dependency results. As the topic depth increases, topics at higher detail levels are included in the requests. Topics at higher detail levels have longer durations than topics at lower detail levels; and this decreases the chances of a topic being included into the resulting lesson. Obviously, topic depth and the percentage of the requested topics presented are inversely proportional. As the topic depth increases, the percentage of the requested topics presented decreases. Figure 4.6 illustrates the effect of increasing the time upper bound tUB on the presentation. In this experiment, we have kept the following parameters constant: number of topics 1000, topic depth 12, length of a topic detail level 10 minutes, number of prerequisite dependencies 2400, and length of requests 10 topics. Clearly, increasing the time

limit increases the chances of a topic being included into the resulting lesson. Similar to the previous results, the behaviors of all heuristics closely resemble the theoretically possible best result. Time upper bound and the percentage of the requested topics presented are directly proportional. As the time upper bound increases, the percentage of the requested topics presented increases.

% of requested topics presented

Time 75 70 65 60 55 50 45 40 35

Theoretical Best BBH LNPH LDLH HNDLH

5

10 15 20 25 30 35 40 45 50 mins.

Figure 4.6. Effects of Changing the Time Upper Bound of a Lesson As expected, changing the number of topics in the simulation has no effect on the performance of the heuristics, which can be observed in Figure 4.7. In this experiment, we have kept the following parameters constant: topic depth 12, length of a topic detail level 10 minutes, presentation length 60 minutes, and length of requests 10 topics.

80 75

Theoretical Best BBH

70 65

LNPH LDLH HNDLH

60 55 50 20 0 40 0 60 0 80 0 10 00 12 0 14 0 0 16 0 0 18 0 0 20 0 00

% of requested topics presented

Topics

# of topics

Figure 4.7. Changing the Number of Topics Changing the request length (i.e., the number of topics in X) has an effect similar to changing the prerequisite dependencies or changing the topic depth, as shown in Figure 4.8. In this experiment, we have kept the following parameters constant: number of topics 1000, topic depth 12, length of a topic detail level 10 minutes, presentation length 60 minutes, and the number of prerequisite dependencies 2400. Since the time limit on the lesson does not change, the percentage of requested topics that are presented decreases. Request length and the percentage of the requested topics presented are inversely proportional. As the request length increases, the percentage of the requested topics presented decreases.

14

% of requested topics presnted

Presentation Length 85 75

Theoretical Best BBH LNPH LDLH HNDLH

65 55 45 35 2

4

6

8

10

12

14

16

# of requested topics Figure 4.8. Changing the Request length (the number of requested topics) Figure 4.9 shows the effectiveness of the heuristics compared to calculating the best lesson by enumeration to the Lesson Request 4 of Section 4.1. As the length of the lesson increases, the time to calculate the best solution increases exponentially. When the lesson includes 18 topics, all heuristic algorithms produce a solution under 5 mili-seconds while it takes over 167 seconds for the solution by enumeration. Clearly, as the request length increases, heuristic solutions become a must for an efficient implementation. Thus, all of the four heuristics perform well with results that are within 7% of the best solution. Relatively, LNP has performed the best, BB and LDL have performed very close to LNP, and HNDL has performed the poorest. Similar results can be shown for lesson requests 3, 5 and 6.

Calculation Time 200 Obvious

secs.

150

BBH 100

LNPH LDLH

50

HNDLH

0 2

4

6

8

10

12

14

16

18

length of request

Figure 4.9. Lesson Request Calculation Time for Requests of Type 4

4.4

Worst-Case Performances of lesson Requests

From the previous section, we have observed that the expected performances of lesson construction requests are shown to have acceptable performance on randomly generated test data. However, in the worst case their performance can be dramatically poorer, on data contrived to elicit this performance. Next, we illustrate this for the lesson construction request 4 and two of the heuristics.

15

A. Request 4 and Best Base Heuristic This heuristic picks the topic x from X which is a prerequisite to most other topics from X, and adds (x)+ to the output, then iterates. We consider the case where t UB has some specified value, k, and all topics have unit cost. We set X to be the topics x’, x’’, and xi for all 0 ≤ i ≤ k. We choose F to consist of x’’→x’, x’ →yi, for all 1≤ i ≤k. There are no dependencies of the form xi → z, and so we could teach all k topics xi. However, the Best Base Heuristic leads us to choose to teach x0, as it is the base of the most topics in X. Since x0 depends on k topics which are not in X, these must be taught first, meaning that applying this heuristic results in none of the topics in X being taught. Although this example is contrived, it could feasibly occur. Suppose X consisted of two distinct kinds of topic: a set of basic topics which have no prerequisites, but also are not prerequisite to any other topics in X; and a few very advanced topics, which have a common prerequisite, which in turn depends on many other (unrequested) topics. The most topics from X would be achieved by teaching the simple topics, but the Best Base Heuristic will cause the system to try to teach the advanced topic that has many prerequisites. B. Request 4 and the Lowest Number of Prerequisites Heuristic In tests, the Lowest Number of prerequisites (LNP) Heuristic performed the best out of the heuristics tested, but again we can force it to give bad results. We consider tUB to be set to a constant value, 2k, and all topics have unit cost. We set X to be the topics xi for 0≤ i ≤ k, and create F with the following dependencies: x0 →yi for 1 ≤ i ≤ k-1; and ∀i, 1 ≤ j ≤ k, xi →zj. Since x0 has k-1 prerequisites, and all other topics in X have k prerequisites, LNP will lead us to choose to teach x0, at total cost k. To teach any further topics from X, we require all the k zj’s, but by the time these have been taught, the time bound of 2k has been reached. In total, LNP allows one topic from X to be taught. However, the optimal solution is to teach all k topics zj and then all k dependent topics xi, i>0, resulting in k topics from X being taught within the time-bound. Again, this situation could feasibly occur, if X consisted on a large set of similar topics, which have a large common set of prerequisites, and one unrelated topic which has a lesser number of prerequisites. Although teaching the unrelated topic has lower initial cost, this cost does not `buy' anything useful.

4.5

Worst-Case Performance Guarantees of Lesson Requests

For worst-case performance guarantees of lesson request algorithms, we will consider the simplest case, i.e., decomposable prerequisite dependencies, and the lesson request 4. We first transform the problem into the bipartite graph problem, and state it as a mathematical integer programming problem, which are known to be difficult to approximate. So far we have often considered the case where the hierarchy of dependencies is shallow: the topics are partitioned into two sets, with dependencies from one set to the other. We shall now show that this situation is not unrepresentative: any set of decomposable dependencies can be rewritten as a two-level hierarchy. Each topic is represented by a node, x, on the left side of the bipartite graph. The cost of this topic is set to zero. We also create a topic, x', on the right hand side of the bipartite graph whose cost is that of the topic. We initialize F, the new set of dependencies, to be x →x'. We then add dependencies to F such that x →y' for each y ∈ (x)+. This problem is identical to the original problem instance. In the case that we are trying to answer a request of the form of Request 4, we can reduce the problem further. Our observation is that we are only interested in the requested topics in X. Where we have that some y not in X has closure (y)+ such that no member of (y)+ is in X, then we can replace the whole of (y)+ with a single topic whose length is the sum of the lengths of the component topics. We can also merge any topics which form a cycle into a single topic, whose prerequisites are the union of the prerequisites of the component topics. The intuition here is that if any topic in a cycle is chosen, then all topics in that cycle must be included. This leads to a canonical form for representing such requests as a bipartite graph problem. The goal is to `collect' as many nodes on the left side as possible within the time limit. To collect such a node, we must `buy'

16

all the nodes on the right to which it is connected, each of which has a certain cost. We have a total budget of tUB. This problem can also be stated as a mathematical integer-programming problem: Maximize f(X) subject to: C.X ≤ tUB Xi = 0,1 ∀i where f(X) is defined as Σx∈X Πy∈x+y. Unfortunately, problems of this type are hard to approximate. Results from Mathematical Programming Theory [BR95] show that there is effectively no approximation for the general nonlinear programming problem. Even considering the extreme restriction that each topic can depend on at most one topic, (that is, for a topic x then (x)+ contains at most one other item), then the problem is still hard. This restricted problem forms an instance of quadratic programming, for which no general approximation algorithms are known [BR95]. This leads us to conclude that for requests like Request 4, there are unlikely to be approximation algorithms that can guarantee that their results are within any factor of the optimal, and so we should be content with using ad hoc heuristics to solve real instances of the problems8. An alternative approach is to look for pseudo-polynomial solutions to the problem, that is, algorithms whose running time is polynomial in the size of the input and tUB. Because tUB can be expressed in binary using log2 tUB bits, such an algorithm would actually be exponential in the problem input size, but as we might expect tUB to be relatively low for many typical problem instances, this would still be a feasible solution. Regrettably, this does not seem possible. Part of the reason for this is that there can be many possible solutions to sub-problems of the main problem that cannot be used interchangeably to build a solution to the whole. The possibility of having distinct topics, which have some common prerequisites, is the aspect that makes this problem truly hard. If there were no such overlaps, then the problem would be trivially solvable in polynomial time by calculating the closure of each requested topic, and repeatedly picking the cheapest until the time bound is reached.

5 Conclusions In this paper, we have studied the use of a multimedia database, and database techniques for electronic books containing pre-captured multimedia presentations about topics in an electronic book. We have designed an electronic book environment for the automated assembly of multimedia lessons, and discussed possible heuristics for lesson construction and their expected-case and worst-case time complexities.

Acknowledgements We would like to thank Dr. G. Phillip Cartwright for providing us references on CAL and CAI literature, and for his insightful comments on this work. G. Cormode thanks Mike Paterson for a discussion regarding the hardness of Request 4 under decomposable dependencies.

6 References [ABSS98] Adali, S., Bonatti, P., Sapino, M.L., Subrahmanian, V.S., “A Multi-Similarity Algebra”, ACM SIGMOD Conf., 1998. [ASS99] Adali, S., Sapino, M.L., Subrahmanian, V.S., “Multimedia Presentation Algebra”, ACM SIGMOD Conf., 1999. [AC+96] Adali, S., Candan, K.S., Chen, S-S., Erol, K., Subrahmanian, S., “Advanced Video Information System: Data Structures and Query processing”, ACM Multimedia Systems Journal, Aug. 1996. [ArM98] Arocena, G.O., Mendelzon, A.O., “WebOQL: Restructuring Documents, Databases, and Webs”, IEEE ICDE Conf., 1998. [Aroc97] Arocena, G., “WebOQL: Exploiting Document Structure in Web Queries”, MS Thesis, U. of Toronto, 1997. [A+97] Arocena, G.O., Mendelzon, A.O., Mihaila, G.A., “Applications of a web query language”, Int. WWW Conf., 1997. 8

We should not totally give up hope of their being an approximation algorithm, as the instance of mathematical programming here is more constrained than the general case, in that f(X) contains only products of distinct xi's, always with a constant factor of one.

17

[AQ+97] Abiteboul, S., Quass, D., McHugh, J., Widom, J., Wiener, J., “The Lorel query language for semistructured Data”, Jour. of Digital Libraries, 1998. [BDHS96]Buneman, P., Davidson, S., Hillebrand, G., Suciu, D., “A Query Language and Optimization Techniques for Unstructured Data”, ACM SIGMOD Conf., 1996. [Br90] Barker, P., “Designing Interactive Learning Systems”, Educ. Train. Technol. Int., 27, pp.125-150, 1990. [BR95] Bellare, M., and Rogaway, P., “The Complexity of Approximating a Nonlinear Problem”, Math. Programming, 69: 429-442, 1995. [BHW91] Boorsok, T., Higginbothan-Wheat N., “Interactivity: what is it and what can it do for computer-based instruction”, Educ. Technol., 11-17, 1991. [Bl56] Bloom, B. S., “Taxonomy of Educational Objectives, Cognitive Domain”, Longman Pub., N.Y., 1956. [Bune97] Buneman, P., “Semistructured data”, ACM PODS Conf., 1997. [BlSt96] Blakowski, G., Steinmetz, R., “A Media Synchronization Survey: Reference Model, Specification, and Case Studies”, IEEE Jour. On Sel. Areas in Comm., Jan. 1996. [C99] Cormode, G., “Topic Dependencies for Electronic Books”, Unpublished manuscript, 1999. Available at

http://erciyes.ces.cwru.edu/tekin/eb2.ps [CaC95] Candan, K.S., Cutler, R., “Multimedia Authoring Systems”, Chapter in Multimedia Authoring Systems, Subrahmanian, V.S., Jajodia, S., Ed.s, Springer-Verlag, 1995. [CaSR98] Candan, K.S., Subrahmanian, S., Rangan, P.V., “Collaborative Multimedia Systems: Synthesis of Media Objects”, IEEE Trans. on Knowledge and Data Engineering, 10, 3, 1998. [Car93] Cartwright, G. P., “Teaching with dynamic technologies”, CHANGE, Nov/Dec., 1993. [Car98] Cartwright, G.P., Personal Communication, 1998. [CMW88] Cruz, I.F., Mendelzon, A.O., Wood, P.T.,” G+: Recursive Queries Without Recursion”, 2nd Int. Conference on Expert Database Systems, 1988. [CoM90] Consens, M., Mendelzon, A.O., “GraphLog: A Visual Formalism for Real-Life Recursion”, ACM PODS Conf., 1990. [CoM93] Consens, M., Mendelzon, A.O., “Hy+: A Hygraph-based Query and Visualization System”, ACM SIGMOD Conf., 1993. [DDIKG95] Day, Y.F., Dagtas, S., Iino, M., Khoktar, A., Ghafoor, A., “An Object-Oriented Conceptual Modeling of Video Data”, IEEE ICDE Conf., 1995. [ECP98] Electronic Classroom Project Masters Projects of J. Aithal, A. Jain, and G. Kalele, EECS Dept, CWRU, Dec. 1998. Available at , http://erciyes.ces.cwru.edu/ecp.html [FF+97] Fernandez, M., Florescu, D., Levy, A., Suciu, D., “A Query Language for a web-site management System”, SIGMOD Record, Sept. 1997. [FLM98] Florescu, D., Levy, A., Mendelzon, A., “Database Techniques for the World-Wide Web: A Survey”, ACM SIGMOD Record, 27, 3, Sept. 1998. [GPBV94]Gyssens, M., Van den Bussche, J., Paredaens, J., van Gucht, D., “A Graph-Oriented Object Database Model”, IEEE Trans. On Knowledge and Data Eng., Aug. 1994. [GPV90a] Gyssens, M., Paredaens, J., van Gucht, D., “A Graph-Oriented Object Database Model”, ACM PODS Conf., 1990. [GPV90b] Gyssens, M., Paredaens, J., van Gucht, D., “A Graph-Oriented Object Model for Database End-User Interfaces”, ACM SIGMOD Conf., 1990. [Gut94] Guting, R.H., “A GraphDB: Modeling and Querying Graphs in Databases”, VLDB Conf., 1994. [GW97] Goldman, R., Widom, J., “DataGuides:Enabling Query Formulation and Optimization in semistructured Databases”, VLDB Conf., 1997. [H+97] Himmeroder, R., Lausen, G., Ludascher, B., Schlepphorst, C., “On a declarative semantics for web queries”, DOOD Conf., 1997. [HakO97] Hakkoymaz, V., Ozsoyoglu, G., “A Constraint-Driven Approach to Automate the Organization and Playout of Presentations in Multimedia Databases”, Jour. of Multimedia Tools and Applications, Vol.4, 1997. [Hg96] Hague, A.C., Benest, I.D., “Towards over-the-shoulder guidance following a traditional learning metaphor”, Computers Educ., Vol. 26, No 1-3, pp. 61-70, 1996. [HKO99] Hakkoymaz, V., Kraft, J., Ozsoyoglu, G., “Constraint-Based Automation of Multimedia Presentation Assembly”, ACM Multimedia Systems Journal, to appear, 1999. [Hoep91a] Hoepner, P., “Presentation Scheduling of Multimedia Objects and its Impact on Network and Operating System Support”, Network and Operating System Support for Digital Audio and Video Conf., 1991.

18

[KoS95] Konopnicki, D., Shmueli, O., “W3Qs: A Query System for the World Wide Web”, VLDB Conf., 1995. [KoS98] Konopnicki, D., Shmueli, O., “Bringing Database Functionality to the WWW”, Int. Workshop on the Web and Databases, 1998. [Kz91] Kozma, R.B., “Learning with Media”, Rev. Educ. Res., 61, No. 2, pp. 179-211, 1991. [L+98] Ludascher, B., Himmeroder, R., Lausen, G., May, W., Schlepphorst, C., “Managing Semistructured Data with FLORID: A deductive object-oriented perspective”, Inf. Systems J., to appear, 1998. [LaSS96] Lakshmanan, L.V.S., Sadri, F., and Subramanian, I.N., A Declarative Language for Querying and Structuring the Web”, IEEE RIDE’96 Conf., 1996. [LCHH97] Li, W-S., Candan, K.S., Hirata, K., Hara, Y., “A Visual Query Interface and Query Generator for ObjectBased Media Retrieval”, IEEE Multimedia Systems Conf., 1997. [LGf91] Little, T.D.C., Ghafoor, A., “Interval-Based Conceptual Models for Time-Dependent Multimedia Data”, IEEE Trans. on Knowledge and Data Eng., 5,4, Aug. 1993. [LS+98] Li, W-S., Shim, J., Candan, K.S., Hara, Y., “WebDB: A Web Query System and its Modeling, Language, and Implementation”, IEEE Advances in Digital Libraries Conf., 1998. [LSBa99] Lee, T., Sheng, L., Bozkaya, B., Ozsoyoglu, G., Ozsoyoglu, Z.M., “Querying Multimedia Presentations Based on Content”, IEEE Trans. On Knowledge and Data Eng., to appear, 1999. [LSBb99] Lee, T., Sheng, L., Al-Hamdani, A., Ozsoyoglu, G., Ozsoyoglu, Z.M., “Query Processing Techniques for Multimedia Presentations”, Jour. of Multimedia Tools and Applications, to appear, 1999. [LSYR98] Liu, K.L., Sistla, P., Yu, C., Rishe, N., “Query processing in a Video Retrieval System”, IEEE ICDE Conf., 1998. [MeMM97] Mendelzon, A., Mihaila, G., and Milo, T., “Querying the WWW”, International Journal on Digital Libraries”, Vol.1, No.1, pp.54-67, April 1997. [MeMM98] Mecca, G., Mendelzon, A., Merialdo, P., “Efficient Queries over web Views”, Proc. of EDBT’98. [OzHK96] Ozsoyoglu, G., Hakkoymaz, V., and Kraft, J.D., “Automating the Assembly of Presentations from Multimedia Databases”, IEEE ICDE Conf., 1996. [Ozs99] Ozsoyoglu, G,. Balkir, N.H., Cormode, G., Ozsoyoglu, Z.M., “Electronic Books as Multimedia Databases”, unpublished manuscript, available at http://erciyes.ces.cwru.edu/tekin/eb1.ps [Pr96] Prabhakaran, B., “Multimedia Database Management Systems”, Kluwer Pub., 1996. [Ram99] Ramachandran, R., “EB GUI Tool”, project, Jan. 1999. [Rs94] Reiser, R.A., “Clark’s invitation to the dance: an instructional designer’s response”, Educ. Technol. Res. Devel., 42, No. 2, pp.49-53, 1994. [RK94] Ragsdale, R.G., Kassam, A., “The magic of multimedia in education”, Multimedia Computing, Ed. Reisman, S., Idea Pub., 1994. [Sav96] Savitch, W., “Problem Solving with C++, the Object of Programming”, Addison-Wesley, 1996. [Sc93] Schak, R.C., “Learning Via Multimedia Computers”, CACM 35, No. 5, pp.54-55, 1993. [Sch99] Schaffer, Gabriel, “Electronic Book User Interface”, MS project in progress, 1999. [Sims98] Sims, R., “Interactivity: A Forgotten Art?”, Instructional Technology Research Online, at http://www.gsu.edu/~wwwitr/docs/interact/index.html [SOO99] Sheng, L., Ozsoyoglu, Z.M., Ozsoyoglu, G., “A Graph Query Language and its Query Processing”, IEEE ICDE Conf., Australia, March 1999. [Sub98] Subrahmanian, V.S., Principles of Multimedia Database Systems, Morgan-Kaufman Pub., 1998. [WeDG95] Weiss, R., Duda, A., Gifford, D.K., “Composition and Search with a Video Algebra”, IEEE Multimedia Journal, Spring 1995, pp. 12-25. [YuM98] Yu, C.T., Meng, W., Principles of Database Query Processing for Advanced Applications, MorganKaufman Pub., 1998. [Ullm88] Ullman, J.D., “Principles of Database and Knowledge-Base Systems”, Vol. 1, 1988.

19