<< Back to Gigi's Computer Corner
This article uses activity networks to give a more interesting and natural structure to the pages of a tutorial. Activity networks are a branch of graph theory, which in turn is a branch of mathematics. An understanding of activity networks is not expected, so anyone can understand this article.
For the purpose of this article, we will take an activity network to be an arrangement of activities such that some activities have other activities as prerequisites. For example, you cannot run before you learn to walk. This is a natural thing with anything you learn.
The idea of using an activity network is that the network branches in different directions. If two things are not related, it doesn't mean you need to learn one after the other. For example, a baby learning to talk has nothing to do with it learning to walk, so there is no ordering between the two activities. We shall see how this concept enhances the structure of tutorials (and any learning scheme).
Note: Those who are well versed in graph theory will notice two fundamental differences between real activity networks and those used here: edges are not weighted, and there is not necessarily an end node. The activity network used here is a simplified version, but the fundamental concept is the same: one task cannot begin before the preceding tasks have been completed.
Most (if not all) tutorials today teach things in a linear fashion. One thing follows another. And when I say tutorials, I am not just referring to online tutorials, but just about every educational system with a set syllabus and a list of topics to be learned. To illustrate the difference between a linear structure and an activity network, we will take the example of an HTML tutorial.
The first HTML tutorial I wrote had the following structure:
With this linear ordering, one who is learning HTML does not know whether it is safe to learn how to use HTML images before HTML links. One assumes that it is necessary to go through the topics in the order in which that is presented.
While that is perfectly possible, and may be the best solution (at least in the author's opinion), why should the reader be stuck with having to read the topics in the order that the author wants? The reader may need to use HTML images, so why does he need to go through all the preceding topics first, if they are not necessarily related?
This problem is not just with HTML, or with online tutorials in general. One can also encounter it in textbooks and other educational written texts. The linear structure is a standard; books have been written like that for millennia. But why should I read chapters 1-20 of a book if I'm only interested in chapter 20 and I can get away with reading chapters 1, 5, 13 and 20?
Perhaps this is not the best example to illustrate the power of an activity network, since there are few dependencies between HTML topics and one can learn most of them without needing to learn any other specific topics first. However, it does show how weak the linear structure is. If one was following the HTML tutorial in a linear fashion, he would be stuck following a strict order when there really is no need for one.
So does this mean that you should use an activity diagram as a 'Contents' section to all your tutorials? Well, it is certainly the best thing you could do. An activity diagram illustrates dependencies, which is commonly of interest to a student. Imagine I am following a C++ tutorial and I get stuck on pointers. Does this mean I can't go on and learn about classes? An activity network solves this problem, clearly showing the various paths in which topics can be covered.
© Daniel D'Agostino 2006 - 2007