Is it a sin to say to a Non-Muslim teacher “you are a good teacher”?
It is not a sin. Everyone can be good even Muslim or not. One narration from our Prophet is as follows:
“The best of Arabs are those who are good in the period of Islam as they were in the period of ignorance.” (Bukhari, Anbiya/Prophets 8, 14, 19; Muslim, Fadail/Virtue, 168 )
After mentioning that Jews and Christians are given books, Allah the Almighty commanded:
“Everyone has a direction. He heads for it. So, race in good works. Wherever you are, Allah will bring you all together. Surely, Allah has set a measure for everything.” (Al-Baqara / The Cow 2:148)
And He ordered Muslims to compete with Jews and Christians in good deeds.
Prophet Joseph also appreciated his master who is not a Muslim by saying;
“…Indeed, he is my master, who has made good my residence…” (Joseph 12:23)
All of these show that Non-Muslims can be appreciated for their good work by Muslims. This would not be a sin.