|
hal Occasional Thoughts Related To Software Development | ||
|
Login Console Mailing List
|
creating tutorials and training materials
Have you ever found yourself needing to create tutorials or training materials to help others with a new concept? Oddly enough, sometimes the more you know, the worse of a teacher you are. The problem occurs because we don't understand well enough how people learn. We tend to think that knowledge is a continuum, where the expert simply knows more than the novice. But there is a much greater divide between expert and novice than the acquisition of facts. The expert has something the novice lacks: a theory. By theory, I mean something like what scientists mean when they talk about a theory (as in the theory of gravitation): a logically self-consistent model or framework into which facts fit. The expert has this; the novice does not. Perhaps an example will help. Here is a sequence for you to memorize (the pipe symbols merely separate various sections of the sequence): C, E, G | A, C, E | F, A, C | G, B, D | C, E, G To the aspiring novice, these are facts s/he must learn. But to the expert in music theory, this is the common musical chord progression of I - vi - IV - V - I. If you happen to be a Beatles fan, this chord progression was the basis for such songs as:
The expert long ago learned the sequence and can recognize it, almost by second nature, when s/he hears it in a song. To the novice, the process is long and tortured and involves counting scales on their fingers. If I want to change the sequence to this: C, E, G | A, C, E | F, A, C | G, B, D,F | C, E, G ...the expert recognizes that I've exchanged a V chord for a V7 chord; nothing more needs to be said. To the novice, it's back to memorization. The expert acquires and assimilates new facts so quickly because they have a theory into which to fit these facts. The novice lacks this. One of the greatest challenges for teachers (spanning writers of tutorials to university professors) is helping the novice grasp the theory. But, by virtue of their status as novices, new learners can't easily grasp theory; it remains irritatingly abstract. We see this when students set out to learn something like design patterns. There, the theory is usually presented first. "This is the Command Pattern. It includes an Invoker, a Receiver, an Abstract Comand, and multiple concrete Commands." Students taught like this can, by sheer dint of hard work, mirror back these facts, but of what practical use are they? How will they use their knowledge when they lack a theory of design patterns into which to fit something like the Command pattern? It's such a challenge for the expert to benefit the novice because the experts has long since passed the frustrating stage of "getting" the theory. As I said, it's second nature. Faced with this situation, experts too often give up and adopt a "X for Dummies" approach. The experts, frustrated by the different plane the novice is on, settle for teaching students facts. In the programming world, students are taught to type certain commands without any recognition that they are communicating with an artifical intelligence (their software machine). This is the "tips and tricks" method of teaching. Similarly, faced with this situation, students too often mistake learning for parroting back certain facts or being able to type certain commands. Far from empowering them, students feel that they must have an encyclopedic wealth of facts at their fingertips. They may be aware that these facts exist in fragile relationship to one another, but for many, the theory has never crystalized. Former Librarian of Congress, Daniel J. Boorstin, put this dilemna perfectly: "The greatest obstacle to discovery is not ignorance--it is the illusion of knowledge." His words point the way for us to write better tutorials, articles, blogs, training materials, etc. Experts need to use their expertise not so much to convey facts as to construct situations that will guide the novice into discovery. If you want to see a great example of this, look at any of the "Head First" series of books, published by O'Reilly. Their Head First Design Patterns is no "Dummies" book, but it certainly is an unusual one, filled with pictures, puzzles, games, and "interviews" with various design patterns. Closer to home, take a look at Joe Rinehart's "QuickStart" guides to his Model-Glue framework, which he wisely begins with the comforting words of Douglas Adams: "Don't Panic!" Or, finally, read Why the Lucky Stiff's Poignant Guide to Ruby. All these examples eschew jargon, preferring instead to provide small spaces in which learners may make their own discoveries, laying the groundwork for true mastery. astelia made this comment,
comment added :: 20th February 2006, 12:08 GMT-05
| |