Problem Solving in Programming

  • Read the problem — This seems obvious but so many people can get stuck here. You want to read and comprehend. Read it twice and read it out loud if you have to. Even talking a problem out loud to yourself or “rubber ducking” can knock the spiderwebs off and get you closer to a solution.
  • Understanding input and output — This is also helpful in coding challenges. Knowing what you need to give your code and what the end goal is for the output is can actually get you out of the dark. Knowing your solution will take in some sort of data and will output some kind of primitave is a massive piece of the map.
  • Pseudo-code — It can be helpful when you are stuck programming to turn it into English. While you are talking out loud stop coding and start jotting down where you are and where you need to get to in the process.
  • Test — Once you have a solution you want to test multiple cases. Its important to test because assuming you found an answer or even finding an answer that works on the first test you do can be dangerous. There have been many times when I was practicing coding challengers on codewars where my solution passed multiple tests but missed out on a few.
  • Optimize for time and space — Optimizing is the hardest step to take in the problem solving process. It takes a lot of studying and practice unlike most of the steps on the list. If you need direction you should be studying Big O Notation, data structures, and algorithms.
  • Meet with a mentor — Having a person who you can fall back on to get you unstuck is helpful. You will be more willing to try things you otherwise would be intimidated by. Also hearing a solution to a problem you have been immersed in will help you remember and improve.
  • Participate in teams — Talking out a problem alone can sometimes be too vague to help. Bouncing ideas off each other in a team can create new ideas.
  • Ask for leadership roles — Leadership roles can put you in a situation under pressure where you will be forced to improve and care about finding a solution personally more than finding a solution to something you are less involved in. It takes pressure to make a diamond.
  • Diversify your thinking process.
  • Explain it like you are explaining it you a child.
  • Work Backwards.
  • Expose yourself to new content and new creators.
  • Experiment with brain teasers and ethical dilemmas.
  • Surrounding Yourself With Critical Thinkers.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store