difference between 합니다 and 하십니다?
adding 시 before you conjugate it makes it more polite
Adding the 시 in is a way to express respect for the person that you're talking about (in this case the teacher/doctor/etc.) where as the -ㅂ니다 bit is for respect to who you're talking to (a coworker for example).
I believe politeness but im not sure. Get out the ole googler and see what it says
What's the difference between 가르치는 and 가르치시는?
The latter is a "honorific" form of the former.
Then how would the students be able to learn properly?