A good teacher should - be able to figure out when a student's understanding becomes better than his own to recommend some reading or to pass the student on to a more knowledgeable teacher - develop individual approaches for gifted students (say, emphasizing theoretical vs problem based depending on the student) - be realistic in estimating the impact of his teaching work on students, and not be lazy, e.g. repeat important things again and again - have enough "infectious enthusiasm"; without it any efforts will be pointless (clearly there's much more, but that's something that comes to my mind right away)