I've been a teacher of computer programming for a while now. I've taught people on how to code and how to think like a programmer. Over the years, I've noticed students who would become leaders in their field.
There are a lot of ways a student can learn from a teacher. These are my essays on the subject.
Motivated students don't wait for instructions
For an average teacher, it would be great if the students listen intently to everything you say and do what you tell them to. This is fine for an average student, but not for a great student. A great student will be unsatisfied with just doing the motion in a fake attempt to show that they've been listening.
To learn something, you have to internalize what is being taught, and come up with your own explanation. This allows your brain to form connections from your own understanding to the subject matter. This kind of learning will be stronger than anything a teacher can give because you came up with it.
However, when doing self-studying, it is possible for the student to not understood the topic perfectly. And this is where a teacher can be crucial in the learning process. If a guru realizes that a fundamental mistake is made, two things can happen:
- The teacher will point to the flaw in their fundamentals. In this case, another exercise should be given to see if the student did learn something.
- The teacher will point to topics that may help them patch up holes in their understanding. In this case, the student is left alone to study; and if they are still stuck, a less subtle advice will be given or (with the teacher's judgment) the solution is outright given.
The choice between the two will depend on the teacher's skills and if they think their student have enough foundation to learn the topic by themselves.
Less reliance on spoon-feeding is only one of the things I've noticed in great students. I'll be writing more about this subject.