I used to use the halfway-across-the-room trick, which was very effective, especially in winter when the linoleum floor was really cold in that old Cambridge apartment.
Before that, I had the alarm clock—a conventional small electric clock with no snooze button—on a shelf just above my head. To reach the clock, I’d pull the cord to yank it down from the shelf. It usually hit me on the head, but if it didn’t, groping about in the covers to find it and shut it off usually woke me up, except for those times when I shoved it beneath my pillow and went back to sleep.
Then I started setting my alarm 27 minutes fast. When it went off, it looked like I was late and scared me awake. I knew it was fast by some amount, but I was too sleepy to do the arithmetic, and by the time I figured it out I was up anyway.
Having kids, of course, or an aggressively hungry cat—we referred to these as organic alarm clocks—makes all worries about nodding off again moot.
These days I use a kitchen timer, not an alarm clock—really! It’s a little harder to operate, and the process stirs me awake. Also I sleep next to a loudly snoring husband who makes snoozing pretty hard after the initial jolt.