Most people who don’t ‘grow up’ with computers seem to be taught to use them in a very rote fashion. They’re taught a list of tasks, and how to carry them out. However, this does not tell them how to use a computer, merely how to carry out those tasks. If the interface changes, or if something goes wrong, or if they step even a little bit beyond what they were taught, they’re helpless.
The most important goal of computer education, I think, should be to give the user an intuition about computers. They should learn a general overview of what the hardware is, and why it does what it does. They should learn what the operating system is, what sort of abstractions it presents, and what sort of metaphors it provides for manipulating them. They should learn the overall feel of applications under the dominant operating system (Windows), the commonalities between these applications, and a general set of expectations for their interfaces. They should learn the general structure of networking technology and the Internet, how a machine connects to it, how a web browser works and how it presents information to you, how email works, and general safety and security precautions to use on the Internet and with networks in general.
None of this needs to be ultra-rigorous, but it needs to be sufficiently logically complete that the user can begin to reason about what he sees the computer do, draw conclusions, and have them be right most of the time. For 95% of the stuff they will encounter, it should not be that difficult to build up this intuition, and I believe a single semester-long course should cover it. Once they feel comfortable with this material, they will be able to continue learning on their own. I’ve taught a number of people based on this set of principles (one-on-one), and it usually takes 6-8 hours of instruction for this to sink in for someone who is used to thinking rigorously and analytically, but has no previous experience with computers. Several days of instruction should build up sufficient intuition to continue learning independently. That would be, what, a third of a semester’s worth of instructional hours?
Once the user has learned the basics (what a computer is, how it works, what it can be used for, and how to do it safely), they can then start learning about specific tasks that may be helpful to them. Things like online research tools, crafting search engine queries, fact-checking, etc. I think that would cover another third of the semester.
Teaching applications is missing the point. If someone is comfortable with a Windows machine, they can start using Word, Excel, and Powerpoint in minutes. If they don’t know their keyboard from their mouse, on the other hand, teaching them particular applications is practically useless - that knowledge will become obsolete in two years at most. It also teaches them dependence on an instructor for new rote protocols, should they want to do anything new.
Photoshop, Illustrator, and InDesign are specialized tools that most people don’t need. Skills learned in them aren’t easily transferable to other applications (Layer blending? Clone brush? And how does this help Johnny recover his homework that he accidentally ‘deleted’?). If someone needs them, they can learn them, but they’re about as far from basic computer skills as I can think of. There are professionals who specialize in these applications, and mastering them takes years, not a semester.