I'm an intermediate programmer. I know C very well, Java somewhat well, and have just done some very basic programming with Python, Shell, and Applescript. I'm writing the program for Mac OSX.
I'd like a create an application that plans my day for me, and lets me schedule due dates for different projects.
The idea being, i could tell the program I have deadline for a task on April 1st, 2012, and that it will take approximately 80 hours. The program would then pick the hours and days to schedule blocks of time dedicated to the task, based on a number of factors.
What this means is, I need the program to have a fine-grain knowledge of time, over a large number of dates. I need at least 30 minute intervals for each day to be split into. Each block of 30 minutes needs to be checked if a task is scheduled for that time, and the possibility to assign a task to that block.
So these 30 minute blocks must exist for each day, and obviously there will be many days the program will have knowledge of, at minimum I'd say a year or 365 days.
I'm just at a crossroads as to how to store the data. I haven't had any experience yet with databases, so I'm not sure if thats a solution, or what that involves.
How would you approach the problem? My prefered languages for this problem would be C and/or Python.
Thanks for any and all insights.