Talguy 0 Junior Poster in Training

I can write a procedural application fine with graphics just fine. I have a new project where I am finally going to learn how to code with concurrency in mind. So I want to make an alarm clock that can have repeating alarms and selectable alarm tunes through itunes or something similar. When an alarm is fired it displays and overlaid window over everything. If snooze is clicked then the set snooze time is decreased by so many seconds each time it is clicked. if dismiss is clicked then a game like simon would show up and the user would have to win a round to cancel the alarm.

So with my description established now comes the question on how to structure the program's code. So would i have the graphics and the interface run in one thread while a seperate thread runs the timer and the function that compares the current time and date with the alarms. Also would the code that controls a media player go in another thread?

Talguy