Originally posted by DougDbug
Write a program related to something you're interested in. If you have a hobby, is there some program that would be useful to the hobby?

Is there some program you wish you owned, but can't afford to buy? Write your own version.

Your advisor (professor) will have to approve the idea. He probably has ideas too. But, if you take one of his ideas, it might become his project, and you'll have to do everything his way!

I'm a bit surprised that, going to your fourth year of computer science, you aren't already working on some personal programs. Do you like programming? The good news is that your employeer won't be asking you for programming ideas!

Your Senior Project should show what you've learned.

I think that the "product" is the most important thing. I would think that at least half of your effort should go toward producing a useful, user friendly, impressive program. Don't get too bogged-down in research... it's the output that's important. At least that's what I think, but you'll have to confirm that with your advisor.

Your Senior Project will probably be the most interesting thing on your resume too. And, something you can show a potental employeer.

Allow yourself lots of "extra" time. Projects always take more time than expected, because the things that go better than expected, don't save as much time as is lost by things that go worse than expected.
I do have some ideas, but I just want to see what you guys say before I make my decision. I do want to develop a program and apply the algorithm and design that I learned from school, but I can't think if any program that will require it. Maybe it does, just that I didn't notice.

My idea
A calender program that will display the calender on the desktop. When you click on any date on the calender, it will have a menu where you can choice to add in your comments such as appointment and stuffs like that.
The comments can be saved as flat file, but I can get it more interesting by using MYSQL as database to store information, and use C++ as a client to retrieve and write data to it.
In this case, the calender program can be run anyway if MYSQL server is running.

How's this idea?