Take the 2-minute tour ×
Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. It's 100% free, no registration required.

When we try to solve some some programming problems or any algorithm, we come across an overwhelming amout of information which is difficult to organize.

A simple example is - If I am trying to write an algorithm for calculating a position of an object, it is dependant on the position other existing objects and recalculation of the layout after this object gets created. Such it is difficult to organizing and track the constraints of other objects and their responses all at the same time. I tend to miss some information at one point of other and it is more like a hit and try at the solution. There is no way for me to remember all of them and arrive at a solution. Time is wasted in try-test-retry logic until the final solution is arrived.

So I wanted to know if there is a technique or a tool which would be easier to track such information and help to solve problem in an efficient way?

share|improve this question

3 Answers 3

up vote 2 down vote accepted

While mind maps are not specifically intended for organising problems, I have used a variation of them many times when attempting to solve difficult problems with many constraints and they have worked out to be extremely well suited for the job.

  • Start with the mind map keeping the problem in focus
  • Mark the variables that may be critical to the problem
  • Along with each variable, link the constraints being applied
  • Add cross links if needed
  • Start writing down solutions with say, solutions using different techniques written away from each other. In essence, giving sufficient space to each to be further explored.
  • Then, start linking the constraints that get satisfied with one approch to that approach.
  • Iterate,improve the solution, mention each improvement with a link away from the start point of that solution. Keep either linking back to your constraints list, or keep noting down the constraints satisfied alongside the approach.
  • Repeat and you will end up with a somewhat organized map of your own thought process.
share|improve this answer
    
Thanks Asheesh for understanding my issue. Have you come across any software tool which might be handy for this approach? –  Bharathram Attiyannan Mar 5 at 4:10
1  
Freeplane is a fairly powerful mind-mapping tool. It is open-source and suited for multiple platforms but probably not the most beautiful designed UI you'll ever find. Maybe it is also not flexible enough to follow AsheeshR's approach completely, but I'm not sure about that. You might still wanna give it a try. I'm quite satisfied with it. –  Don Gee Mar 6 at 19:39

In many disciplines there often exists a set of solutions to a commonly occurring problems. In software and in structural architecture we call these design patterns. If these don't exist in your field you may want to begin a taxonomy of your own, share it with others, get feedback and develop it some more.

share|improve this answer

This might be a bit obvious or simple... but...

Might it be an idea to make a overview of everything in excel? Here you can link part of the calculations relatively to each-other, but still have an overall scope of everything. You can even draw in it. Add definitions, and use those all again in the program.

Hope it helps!

share|improve this answer
    
Thanks for the answer. This is a good idea to solve the example problem. But I am looking like a mind map kind of technique where it would be easier to break down any problem into the smallest form yet keeping the whole picture at any point of time. Its more about improve our way of thinking when we are approaching any problem. –  Bharathram Attiyannan Mar 3 at 3:24

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.