I used to be a teacher, and it bothered me when students fell asleep in class. Sometimes I would get right in their face and wake them up, so the first thing they see is my angry face and scary big eyes. They'd jump and the rest of the class would laugh.
And then I realized: I could only think of two reasons why they would fall asleep in class.
1) They were tired.
2) My lesson was boring.
If they were tired, who was I to wake them up? Maybe they had a part time job, or maybe they had trouble at home. Whatever. I don't know what's going on in their lives.
If my lesson was boring, was that their fault? No, it was mine. EVEN if they were tired, if my lesson were interesting enough they would stay awake for it.
I stopped waking up sleeping students, and instead worked on improving my lesson plans. The fewer snoozers, the better the lesson. (I also got a lot louder and more energetic, which also helped keep them awake/attentive)
By my third year as a teacher, I never had a student fall asleep in class again.