Log in

No account? Create an account

Previous Entry | Next Entry

Short Description:

I am in need of a C++ programmer to create a quicksort program for a task list.

The program would take a simple list of 200 to 300 items and taking each one seperately, using the quicksort algorithm to ask the user which of the two is the most important (or urgent). When complete, the program would then list the 200 items from the most importanrt (or urgent) to the least important (or urgent).

You would think a program like this would already exist. Trust me. It doesn't.

Longer Description:

My dilemma is that unlike most people I am not time-oriented, but project-oriented. With that in mind, it is not unusual for me to have a list of 200 to 300 projects. Sadly, I do not share your father's knack for prioritization and therefore I need a gimmick to help me as looking at a list of 200-300 projects can put me in a form of paralyzed stasis.

Quite simply, what I'm looking for is a simple program that will allow me to take a list of 200 to 300 projects, compare them one by one answering the question "what is most important\urgent\profitable?", and then using a quicksort come up with an ordered list that is logically ordered from the most important, etc. to the least important.

https://en.wikipedia.org/wiki/Quicksort (there is already code available on that site)

That quite frankly that is all I need. However, if somebody has time and interest, there might be some bells and whistles I would ask them to consider:

  • Allow me to assign groups to each individual project. For instance, my groups personally would be Work, Financial, Personal, Bucket List, Family and a host of others. Assigning groups would allow me to work only on church projects within the church office, and other projects when I am in other circumstances.
  • Allow me to import and export the list to and from Microsoft Word.
  • Allow me to insert projects into the list without the necessity of having to go through the quicksort program again. By the by, the first time one would do a quicksort with 200 to 300 projects it will probably take anywhere from one to two hours.
  • Actually allow me to ask ALL THREE criteria (important\urgent\profitable) and allow me to print out lists with that critieria as well.
  • Even though I am not time oriented, some of the projects I do are and it would be nice to assign a complete by date to some individual projects.

Again, these are what I consider bells and whistles. Whatever anybody can do would be deeply appreciated.

By the bye, I would suggest any volunteer to seriously consider selling this program through some type of shareware program as there is no other to do list on the market that does this.

When I used this type of program for the Macintosh many years ago my level of productivity was dramatic. I hope that having access to similar tool will bring back that level of productivity.

One other favor. I would love to see what the program code looks like. Sending me the code along with the program would be most appreciated.

Any interest?


Jun. 1st, 2012 03:53 pm (UTC)
Let me put on my programmer hat for a moment, not to volunteer (necessarily), but to make some observations and ask some questions about what you're looking for:
  • It is important to know what platform you need the program to run on. I would assume a Windows machine, but even knowing the flavor of Windows (XP, Vista, 7...) would be useful.
  • Would this need to have a particular form of graphical user interface?
  • Are you wedded to the particulars of C++ and quicksort? There is a variety of sorting algorithms extant, and while quicksort is generically good, a programmer might choose a different algorithm. Similarly, I could see a programmer choosing to use something such as Java for this. (My C++ is quite rusty, but I could possibly hammer something out in Perl, given enough free time. However, Perl would have its own particular limitations to work with, particularly in the interface department.)
  • What sort of input does the program need? I would assume a text file with one item per line, but this is not a given.
  • Are you aware of the scope of what you're asking—not only on the coder's part, but on yours? For a list of 200 items, comparing each pair of items individually will require the program to ask you 200C2 (which is 19,900) questions. For 300 items, this increases to 300C2, or 29,850 questions. That is a lot of questions to answer. You could shortcut this somewhat by making some assumptions, such as "if the user has said that A is lower priority than B, but higher priority than C, then B must be higher priority than C"—however, this may also undermine what you are looking for by never directly comparing B to C. On the other hand, this also avoids having to figure out what to do in the situation where you say that A is higher priority than B, B higher than C, and C higher than A.
I don't mean to undermine your request at all—it does sound like it could be a useful program. But these are some things that potential programmers would need to know before making a decision.
Jun. 2nd, 2012 01:02 pm (UTC)
Thanks for the reality check. These are excellent questions that never entered my mind.

To answer your questions:

1) Windows XP.
2) No. Just the ability to compare two items and check which one is more important (or urgent, etc.)
3) I don't care what language it is written in as long as it gets the job done.
4) I would also assume a text file with one item per line, but the ability to enter data one line at a time into the list could also be an option.
5) You hit the nail on the head as this is the main problem with what I am asking. Running the program takes time and the more data, the longer it takes.

When this ran on my very old Mac, I dedicated an entire day to sorting the list, and then would save it as a text file and as new projects came up, at that time I could easily insert them manually. I would do this every six months.

My productivity went through the roof as I was no longer paralyzed by looking at the list.

Again, thanks for asking some very good questions I had no understanding to ask.