27.2 Master Teaching
http://griffith.dartmouth.edu/iml/iml.htmlTo present complex concepts, we are applying a three-step process called master teaching that has already been put to use successfully in other educational multimedia projects at the Dartmouth Interactive Media Lab. The three steps are defined as follows:
- Master Teaching:
In the first step a teacher who is a master in teaching as well as a master in the methods he teaches, presents the subject to the students. Ideally, this is done interactively by the human teacher. Unfortunately, master teachers are a scarce resource, and it is desirable to replace or augment the master teacher. In the simplest case this is done by a text provided by the master teacher, but with today's multimedia capabilities this can be done much more effective including video segments showing the master teacher teaching.- Experiential Learning:
The second step includes practicing the concepts taught by the master teacher. "Learning by doing" is still one of the most effective ways to understand new ideas. The learning effect can be improved if the new ideas are presented, and can be practiced, in different ways.- Reflective Learning:
The third step provides for an in depth understanding of the taught and practiced concepts. By combining their own experiences with the methods taught by the master teacher, students build their own mental model of the concepts.This three-step-learning process can easily be adapted for multimedia-enhanced teaching of computer science algorithms. It is particularly well suited for teaching proofs of theorems.
Figure II.27 Overview map of Prim's algorithmFigure II.27 displays the overview map of an animated learning environment for Prim's algorithm for finding a Minimum Cost Spanning Tree (MST) [Pri57]. It illustrates the three main parts of our learning environment. These correspond directly to the three steps of master teaching. The "introduction" part explains the basic concepts as they would be explained by the master teacher. The "algorithm" part contains an interactive animation environment corresponding to the second "experiential learning" step in the master teaching method.
Figure II.28 Animation of Prim's algorithmFigure II.28 shows a screen dump of the animation of Prim's algorithm. The interactive environment allows the student to experiment with Prim's algorithm, while the animation is running synchronously with different pseudo code representations. This visual-with-code representation of the algorithm affords an intuitive and thorough understanding of the algorithm which, in turn, leads to a better understanding of how the proof works.
Figure II.29 Step 4 in the visualization of the proof of Prim's algorithmFigure II.29 displays one sample step in the animated proof dialog of the proof of Prim's algorithm. The presentation of the proof corresponds to the third "reflective learning" step in the master teaching method. In this step the student is expected to understand the proof based on an understanding of the algorithm gained in the previous two steps.
Obviously the set of expandable statements in the presentation of the proof represents the core of our animation system. This means, that our system still is based on a textual description of the text. But the usefulness of the text alone gets vastly expanded by adding hypertext links on a micro level as shown in the Animated Algorithms project. The hypertext links allow direct access to any points where the teacher thinks that a student might have difficulties in understanding, but they do not interrupt the flow of the proof because the student is not forced to follow the links.
There is considerable research activity in the field of algorithm animation, but so far nobody has ever tried to combine hypertext concepts with algorithm animation to visualize a correctness proof of an algorithm. The following points summarize our experience:
- The method for animating proofs is basically a guided walkthrough of slides to be shown one after the other.
- Emphasis is on the hypertext aspect of the system because access to additional information can be given at the location where it is actually needed.
- The animation for the proof is based on an animation of the algorithm to be presented before the proof. Although it is rather simple, it vastly improves the student's understanding of the complex subject matter.
- Color is very useful for emphasizing the actual/important point of a slide.
Obviously the method described above can be used to visualize any proof. Because graph algorithms are particularly well suited for animation, the integration of the algorithm animation into the visualization of the correctness proof is especially straightforward. Nevertheless, there are many other application areas within and outside of the computer science domain where such a system could be extremely valuable for visualizing abstract concepts that are hard to understand.