Because of my long experience with teaching in general, and teaching Linux in particular, I am a firm believer in task-oriented instruction for computers.
I’ve been playing with Linux for about 20 years. I’m not a guru, just a power user. However, I have been a professional educator for about the same length of time. Not just a classroom curriculum jockey, but someone who studied deeply about the human capacity for learning. Indeed, the primary task of any counselor, elder or pastor is instructional. The only way people change is if they change themselves; all they need is exposure to the possibilities.
Some things humans learn requires a broad exposure to theory. You have to get the whole picture or you can’t understand any of the parts. That’s true of computers if you manage technology use or write software. For common users, that’s simply not necessary. Beyond a small range of introductory concepts, most of it is simply answering the needs of how they use computers.
Having taught Linux to a few individuals here and there, I’ve always had the greatest satisfaction when I simply met the needs of the user. Indeed, it’s the same when I teach Windows computer security, for example. It’s not a question of hiding things from people; I’m always willing to answer any question for which I can find a useful answer. But that’s the whole point: The answer has to meet real needs. Common users need only so much theory as they use. Computers are just a tool for them, not a career.
One of the things I’d love to do is teach migration from Windows to Linux, but in a classroom or laboratory setting. Aside from that basic level of background understanding and orientation to the differences, Linux is best taught to learners on the basis of how they will be using it. So that would mean I’d get to write the curriculum for any group based on what migration means to their work needs. It’s not about evangelizing folks into becoming silly fan-boys, which is what you usually encounter when chasing down Linux information on the Net. They just need to know how to do what they have to do for their own purposes.
Here’s hoping some day I get to teach Linux.