Strategies for effective problem solving

1. Always have a Plan

  • You should have a plan how you are going to find solution
  • The plan may be altered along the journey or you may abandon your original plan and make another one
  • Planning allows you to set intermediate goals and achieve them.
  • Without a plan you have only one goal, solve the whole problem. Until you have the entire problem solved you will feel frustrated.
  • So create a plan with series of minor goals, then you will make measurable progress towards a solution and feel that your time been spent usefully.
  • At the end of each work session, you'll be able to check off items from your plan and gain confidence that you will find a solution instead of getting increasingly frustrated.

2. Restate the Problem

  • In some cases, a problem that looks very difficult may seem very easy when restated using different terms.
  • Restating a problem allows you to check out the problem from every angle to see if there is an easy solution.
  • Restatement sometimes shows us the goal was not what we thought it was.
  • If a problem is assigned to you (by supervisor or instructor), you can take your restatement to the person who assigned the problem and confirm your understanding.

3. Divide the problem

  • Finding a way to divide a problem into steps or phases can make the problem much easier.
  • If you divide the problem into two pieces, you might think that each piece would be half as difficult to solve as the original problem, but usually, it's even easier than that.
  • For example: Insertion Sort Vs Merge Sort, divide and conquer.

4. Start with What You Know

  • When programming, you should always try to start with what you already know how to do and work outward from there.
  • Divide the problem up into pieces and complete any pieces that know how to code already.
  • Having a working partial solution may spark ideas about the rest of the problem.
  • A common theme in programming is making useful progress to build confidence that you will ultimately complete the task.
  • By starting with what you know, you build confidence and momentum toward the goal.
  • Always try to use your brain to think what parts of the problem can be solved with the tools(skills) that you already know before trying to get more tools.
  • This technique follows a plan and gives the order to our efforts. When we begin our investigation of a problem by applying the skills we already have, we may learn more about the problem and its ultimate solution.

5. Reduce the Problem

  • You reduce the scope of the problem, by either adding or removing constraints to produce a problem that you do know how to solve.
  • To solve the original problem, we will eventually need the skills involved in both reductions. Even so, reduction allows us to work on a simpler problem even when we can't find a way to divide the problem into steps.
  • By writing code to solve each individual aspect of the problem, programmers see how to combine the various pieces of code into a unified whole.
  • Reducing the problem also allows us to pinpoint exactly where the remaining difficulty lies.
  • If you need assistance from an experienced programmer, you should be able to describe the progress you have made towards the solution to the experienced programmer.

6. Look for Analogies

  • An analogy is a similarity between a current problem and a problem already solved that can be exploited to help solve the current problem.
  • Sometimes two problems can be really same, other times it is not the case.
  • It is a difficult skill to build because you can't look for analogies until you have a storehouse of previous solutions to reference.
  • Beware there is good and bad software reuses.

7. Experiment

  • Sometimes the best way to progress is to try things and observe the results.
  • Experimentation is not same as guessing.
  • An experiment is controlled process; you hypothesize what will happen when certain code is executed, try it out, and observe if the hypothesis is correct.
  • From these observations, you gain information that will help you solve the original problem.

8. Don't get frustrated

  • The final technique isn't so much a technique, but a maxim: Don't get frustrated. 
  • When you are frustrated you can't think clear, work efficiently.
  • Frustration feeds itself.
  • You allow yourself to get frustrated; you are in effect giving yourself an excuse to continue to fail.
  • Take a break, or work on a different problem, solve that and build confidence.


ALWAYS PLAN, DIVIDE THE PROBLEM, REDUCE THE PROBLEM, START WITH WHAT YOU KNOW, AND EXPERIMENT.

Please let me know if you can think of additional problem solving techniques.

Comments

  1. Ayok Merapat kepada Kami hanya Di @BOLAVITA Www.Dewasabungayam.com

    ReplyDelete
  2. ayok main tunggu apa lagi ambil bonus nya di bolavita
    www.Bolavita.org

    ReplyDelete
  3. join sekarang dan dapatkan bonus melimpah hanya di wwws128agencom

    ReplyDelete
  4. btclord15@gmail.com we are wizard at hacking service. We deliver to clients job at great spend. We waste no time and our success rate is 100%.

    Our service includes

    *Change University grades

    *Facebook, twitter, IG hack

    *Email hack

    *Yahoo hack

    *Gmail hack

    *Outlook Hack

    *Aol Hack

    *Wipe criminal records

    *Wipe credit card debt

    *MasterCard's/visa cards

    *Bank account

    *Dead and live fullz

    *WU transfer

    *Money Gram

    *Credit Transfer

    *Data base hack and lot more hacking services in general

    Among other customized services...all this are at all great rate. Results guaranteed. Contact us >btclord15@gmail.com

    ReplyDelete
  5. “It is clear that mainstream adoption and growth of cryptocurrency is being held back due to the vulnerable nature of the technology. While there is a high appetite to use it, giving your hard-earned cash to something you don’t fully understand, or trust, is a hurdle. With the safety of investments being of paramount importance to consumers, it is vital that they take their own steps to safeguard it. Like with any cyber threat, there is no substitute for vigilance – if something looks too good to be true, then it probably is,” Kaspersky’s Head of Commercialization Vitaly Mzokov stated but there is still a brighter future awaiting those who follow the right part.

    contact a cryptoGURU:
    onlinehacker4hire@gmail.com

    ReplyDelete
  6. i was lost with no hope for my wife was cheating and had always got away with it because i did not know how or always too scared to pin anything on her. with the help a friend IN PERSON OF PAIGE who recommended me to who help hack her phone, email, chat, sms and expose her for a cheater she is. I just want to say a big thank you to HACKINTECHNOLOGY@GMAIL.COM . am sure someone out there is looking for how to solve his relationship problems, you can also contact him for all sorts of hacking job..he is fast and reliable. you could also text +1 669 225 2253

    ReplyDelete
  7. You are providing such an informative article here. You have described everything which is easily understandable to everyone. Keep sharing this kind of articles, Thank you. password hacking service online

    ReplyDelete
  8. I always check this type of advisory post and I found your article which is related to my interest. This is a great way to increase knowledge for us. Hire A Hacker Thanks for sharing an article like this.

    ReplyDelete
  9. Harrah's Cherokee Casino Resort - Mapyro
    Find Harrah's Cherokee 군포 출장마사지 Casino Resort (North Carolina) 목포 출장안마 location in Cherokee, 서울특별 출장마사지 NC, United States. Get directions, reviews and information for 포항 출장샵 AAA/AARP 용인 출장안마 members,

    ReplyDelete

Post a Comment

Popular posts from this blog