By Ashraf Al Shafaki
Let students first feel the need for the new concept you will be introducing then introduce the concept after that. This will let them see the new concept as a natural progression and feel its usefulness and its role and thus understand it better and be able to use it well in solving problems.
The process should go something like this. The students have already digested a previous concept and you have given them a practical example demonstrating such a concept in action. You then go ahead and try to extend that example to include more functionality or solve new problems. You show that to achieve such new functionality or solve that new problem the concepts already introduced fall short of doing so or that they can do so but with great difficulty. You then go ahead and introduce the new concept demonstrating how it easily solves the new problem or adds the new functionality.
By introducing the need for the new concept first and letting students feel such need, they are better able to grasp the new concept in a solid way and see it as a natural progression of the other concepts. This will enable learners to understand the new concept better and to be able to use it appropriately whenever a need for it arises and whenever a problem shows up that can be solved using such concept.
When speaking about a particular concept, try to make sure that students fully comprehend why such concept came up, why it is designed in such way in particular and what problem does it solve. One way of answering such questions for many of the technology concepts is by relating the story behind the development of such concept. A brief historical overview communicated to students via a story relating the progress of such concept and its predecessors till the concept was reached could do the trick. The human mind loves stories and is able to work best and absorb knowledge best and use it well when it is related in story form. A story provides sequence and gives the mind a chance to comprehend the natural development of a concept in steps.
If a complex concept that took many stages to develop was introduced directly without relating its development steps, the human mind might be paralyzed unable to grasp the thought leap leading to such complex concept. In such case the mind will just try to store the concept as is as if it was a black box without fully comprehending it. This will lead to poor ability of using such a concept in real problem solving.
Revealing the development process behind a complex concept to learners instead of just throwing the end product at them is in a way similar to dissecting a complex concept into its main component to ease comprehension. Both techniques can be used to ease the comprehension of a rather complex concept.
By tracing the development steps of a complex concept and why it has reached such a state in particular students will be able to better comprehend and use the concept you are introducing to them.
Contrasting two opposite concepts builds a strong clear relationship between those two concepts in the mind of the learner and together the two contrasting concepts create a stand-alone complete holistic system. This clear structure results in a strong form of understanding in the mind of the learner.
This crystal clear method of contrasting two opposites can be used when a concept is hazy, unclear or mixed up in the mind of the student. The idea is to try and explain the concept by dividing the 'world' into two distinct contrasting concepts one of which is the concept you want to explain and make clear while the other is its opposite. This is a very powerful tool that makes the explained concept crystal clear in the mind of the learner.
This method of contrasting two different concepts can also be used to introduce a new concept or idea you want to promote vs another concept or idea that you want to show as being less effective. The contrasting method clearly shows the differences between the two concepts or ideas and how the second one you are introducing is superior to the first. Move to explaining the second concept only after you have fully explained the first one and even showed its merits which you will demerit later on as you explain the second concept or at least will show how the second concept is superior to the first.
Lead students into deducing the new concepts you are introducing by themselves. Let them reach the new concept as a natural result or natural progression. This makes the concept unforgettable, understandable and makes it fit in nicely with the rest of the knowledge and understanding they have in their minds. They will thus be more able to use it and think creatively about solving problems with it.
When introducing a new concept, do not start by first giving the name of that new concept. Terminology can sometimes clog the channel of understanding in the brain. Instead, start by describing the concept itself in easy terms. Try relating the new concept to something the students already know. Try to derive the new concept from common known things and introduce it as a natural progression of things. After the students fully grasp the new concept, then and only then may you mention the term used to describe such a new concept.
This method enables the brain to comfortably place the new concept in its correct place, fully comprehend it and be able to use it with natural ease later on. If you start by mentioning the name of the concept, the mind might go astray in a wrong direction and it would not be easy for you to bring it back again to fully comprehend the new concept you are introducing. So, whenever you are introducing a new concept, explain the concept first then label it last.
When introducing any new concept, start first with a real need to solve a real life problem and give an example of solving such a problem using the new concept you are introducing. Never give trivial examples that are of no use in reality. Such a practice confuses the brain. Using examples that solve real life problems based on real needs to introduce new concepts works best with the way the human mind works. Not only will this be a greater motivator to learners, but it will make them understand much better and be able to go forward in their learning with confidence and with a stable step.
In the same way that eating whole wheat is good for the health, feeding the mind with whole examples is way better than giving the mind a fragment of an example. Dissecting a whole example, throwing away part of it then presenting students with only partial examples can be harmful. The problem is that many inexperienced trainers would think that bey removing extra 'baggage' from an example they are making it simpler and easier for the brain to digest. Such trainers tend to feed their students' minds in small tidbits trying to provide them with the alphabet which they can later put together in various combinations to build whole functional systems that solve some problems. This approach of providing the alphabet or the tiniest building blocks first might be suitable for teaching a computer, but not very effective for teaching humans. The human mind tends to comprehend and operate on things in a holistic way. Providing the mind only with the building blocks and rules that govern the putting together of such building blocks can handicap the human mind and hold it back from quickly creating solutions for real problems.
The holistic approach has been used even in teaching children how to read. Preschool children have been taught to read by teaching them whole words before teaching them the alphabet. Such approach proved highly effective. When teaching programming or even providing training in using a computer program, it is best to provide students with holistic examples; examples that are complete and functional.
It is much better to have a strong focus on teaching the core concepts of a technology and hammer such concepts in the minds of students than to spread the learning process thin and dilute their knowledge with an ocean of advanced topics.
A misconception might be that if students are able to grasp advanced concepts of a technology, then this means they are very good with its core basic concepts. In practice, we find that many developers waste a lot of time due to absence of a clear vision and a fuzzy knowledge of some of the basic core concepts. If such concepts were grasped firmly from the beginning, such developers would have been able to progress much more rapidly in developing software. This also helps in avoiding a large percentage of bugs.
Having strong solid basics also helps a developer run fast and go forward boldly in writing code. The clarity of vision and solid steps makes going forward with speed feasible. Conversely, a person with shaky basics would have to go slowly being pulled back by his lack of clear vision and foggy sight.
A trainer by definition is more experienced in the subject area he or she is teaching than his or her students. A trainer is well aware of the usefulness of the information and skills he is providing to his or her students. A common mistake among trainers and teachers is to act as if their students also are aware of such usefulness of a concept or skill new to them. A trainer might thus force some new concept or skill into the minds of his or her students because he/she knows it will be of great importance to them in the future.
Being useful for students in their future is not a sufficient motivation for students to learn a new concept or skill. A trainer might be well aware of the importance of some skill and how much positive effect it can have on the future of his students, yet communicating such importance to his students is usually not possible. Students will come to appreciate and understand the importance of such a skill only in the future when they start using it in real life. The right approach to overcome this common problem is to provide a parallel yet instant use for such new concept or skill. By showing students how they can use that new concept or skill now they will be motivated enough to absorb it. Otherwise, the trainer will be met with great resistance and the mastery level of the students for that skill or concept would be low.
Optimize last is a well known best practice in programming yet the same concept can be applied to teaching as well. When teaching students how to use some computer program it is enough to show them at first one method only for accomplishing a task. Providing them with all the possible methods for accomplishing the same task might overload their brains and would hinder the learning process making it slower. Even just giving two different methods for accomplishing the same task would be unnecessary and would be nothing but an obstacle in the path of learning.
For instance, if a specific task can be done through a button in the toolbar, a menu item or a keyboard shortcut key, it is no good to introduce the three methods all at once. Try starting by the simplest. Not necessarily the simplest to the hand or the less time consuming, but the simplest on the brain to easily comprehend and remember, the method that is more intuitive even if it is not the fastest or most optimal method. In the case mentioned above, teaching the students how to accomplish a task using a toolbar button or a menu item might be better than starting out by providing them with the keyboard shortcut key to accomplish such task, even if the shortcut key is the faster method.
If a student is taking a long path consisting of more steps than necessary to accomplish some new task, do not introduce to him the alternative more efficient method yet. Just let him master performing the task first. Later on, you can always introduce alternative more efficient methods for accomplishing the same task. With teaching, as in programming, it is best to optimize last.
The teaching principle of optimizing last is a direct application of the principle of introducing the need first. When a student first learns a technique or method for accomplishing a new task, he or she is in need for learning a simple, easy and clear method for accomplishing the task and cannot yet feel the need for accomplishing the task with high speed or in an optimal way. As the student becomes more confident in accomplishing the task using the unoptimzed method he or she has learnt through repeated practice, he or she then becomes ready to learn another more optimized and more efficient method or technique for accomplishing the same task. The need for increased efficiency will be clear to a student who is well practiced in using the less efficient method. He or she will also appreciate learning the better optimized technique more. Thus, we see that the principle of optimizing last can be concluded directly from the other principle of starting with a need first before introducing a concept or technique. The human mind just happens to work better that way.