Skip to main content
Source Link
kelleystar
  • 1.6k
  • 2
  • 11
  • 8

I come from a science background, so when I look at a problem, I tend to use tactics from the Scientific Method. I especially like to set up "experiments" based on hypotheses and use "controls", so I'll build something and then change/add only 1 thing about it and see what the result is of that one change/addition and if I'm not getting the result I need, I'll switch it back and change something else. This works well for troubleshooting/debugging code. Sometimes you get the answer you seek, but you always learn something new doing that even when you fail. I also like to learn through reductionism-- taking something that already exists (always good to start with something you may not understand, but you know works) and looks complex to me and seeing if I can break it down into its component parts and learn how they work first. It's sometimes easier for my brain to handle learning like this instead of approaching a problem holistically and I can use that knowledge to build other similar complex things myself. I also recommend reading books on logic and reasoning choosing works from both classical and modern thinkers (start with Aristotle and work your way up). They can give you some of the foundations of basic logic which you can use to help in problem solving in computers. And, of course, if you can't solve a problem and you've been working on it for awhile, take a brain break. Ruminating on a particular aspect of an issue is sometimes detrimental. Everyone needs breaks :)

Post Made Community Wiki