Many courses and training's in all kinds of skills are run in manner where the student trying to acquire a skill is a passive observer. This predictably leads to incompetence and failure.
Consider a driving school which gives you 20 hours of video instruction and 1 hours of hands on driving experience vs one that gives you 1 hour of instruction and 20 hours of hands on driving.
Which one will you choose? Why should it be any different in other contexts?
When it comes to real skills, unless the student is active, very little real stuff is learnt even if a lot of information is given, assessed via theoretical tests and "mastered" :)
Knowing is no substitute for doing or rather having information is not the same as having a skill.
Today, there is a surplus of information on any conceivable topic in all formats on the internet (video, audio, books, articles... ). Any teaching effort today should focus on developing skill rather than creating a millionth version of content or information that is available easily.
I recently heard of a government initiative where they are "recording videos" of professors giving lectures and broadcasting it all over Indian colleges at a huge budget. At the end of watching the videos, the students are evaluated using an objective multiple choice test!
I am waiting for the next set of software systems to come from those students :).
We are used to thinking of teaching in terms of the classes we attended throughout our lives. A wise teacher (or otherwise) dispensing information to a large number of students sitting silently in rows and columns, with the occasional question from a 'smart' or 'irreverent' student.
They result in predictable bell curves of performance even when the courses are very theoretical as they cater to a fictitious student and the individual is lost in the process.
Imagine what happens when a practical performing skill like programming is taught in this manner :)
The key to doing better is to realize that skill is not something that is poured by a wise man into a eager student :).
It is something that is evoked or built inside the learner as result of action (used in a broad sense to mean doing, thinking, discussing, reflecting, connecting the dots etc.) taken by the learner in a supporting context.
This idea is often dismissed as idealistic and impractical.
It is not.
It just requires a different kind of structuring in the way skills are taught. There are plenty of workable models like the flipped classrooms or win wenger's dynamic format to use as starting points.
Once the basic idea is agreed upon, it is up to us to creatively experiment and create better solutions. The status quo is so bad that it can only get better :).
Take a look at how you are or your dear ones are being taught.
Who is active for the most part? The student or the 'teacher'? Are the results satisfactory?
Do you really care to be a point on the lower end of someone's bell curve?
Seek out student focused alternatives or create your own if you can.