I am one of those who has problems with the snooze button.I(as a student with flexible schedule),sometimes,can press the snooze button for an hour if I have nothing to do(that makes app. 15 times in my alarm clock). I noticed that what I need is some challenge to start the day.
let your alarm clock
ring for the first time.Then,after the first snooze,let it ask you some mathematics questions.basic operations,squares,roots...(derivatives and integrals if you want!).let the alarm clock beep gently in the interim period when you are trying to solve the problems. after some 2-3 questions,you will probably feel awake and will not need to go bed again.

the only drawback can be if you can not solve the problem(!) after dozens of trials. then, there can appear a hotline number on the screen for a maths course.

What was yours, [k]? Mine was a suggestion to press the snooze button the correct number of times (limiting it to low integer answers), and for it to get more difficult each time you snooze.

[hit snooze]
...
*bzzzt*
<computerized voice>"Prove that for any integer 'n', x^n + y^n = z^n has no solutions for 'n' above 2"</cv>
<bleary Detly>*frantic tapping*</bD>
<cv>"Snoozing for 25 years..."</cv>

Heh. I bet there would be a power outage in that time, erasing your solution. "I dreamt of triangles, but I don't really remember what it was about. Oh well."

It strikes me that this would be something like being woken up by Carol Vorderman every morning. For those of you who are not based in the UK I can only say that this would *not* be a pleasant thing.

When all else fails I read my kids long atricles about chemistry (Hydrogen or Aluminium), math or Signal Processing material. They usually fall asleep in minutes.