For effective teaching a teacher must have what type of knowledge ?
All of these
Effective teaching rests on much more than command over one subject. Teacher education frameworks describe several distinct kinds of knowledge that have to be brought together before a lesson can succeed.
Mastery of the matter being taught comes first, since a teacher who is unsure of the content can neither answer a child's question nor correct a mistake. Knowledge drawn from the science of teaching tells how children of a given age learn, how attention is held, how difficulty should be graded and how progress may be judged. Familiarity with the prescribed course of study shows what has to be covered, in what order and to what depth within the available time.
These kinds of knowledge serve different purposes and none of them can do the work of the others: a teacher strong in content alone may teach over the children's heads, and one strong in method alone may teach pleasantly but wrongly. They are therefore needed together.
All of these option is correct.