Therefore, I imagine a in game function: student can invite teacher to form a group to play 1v1 UNRANKED ladder game. Teacher is a observer and can only see what his student sees, and can sent text message to student. What's more, teacher can make some special signals, if they cannot communicate with mic. For example, when the supply cap is coming, teacher can click the supply icon, and then student can hear a special sound and see a flash on the icon, and so on. So they don't have to waste time to sent text message in some cases.
It looks like a way that parents teach children to write. It is the most efficient way to learn.
PS: I don't suggest do this in custom game is because it's not easy to find opponent whom matches students' level, and student can get more stronger feeling that "I am becoming better and better" in unranking ladder game.