Problem Solving Philosophy¶
It is important to develop problem-solving habits early in your career. Some guidance is listed below - philosophical for sure but useful:
Set aside time to think about the problem before attempting to solve it. It might only be a few minutes, but think before plunging into solution methods; in fact rewrite the problem statement in your own words - that act alone may suggest a meaningful approach.
Draw a sketch of the problem situation. You may end up with several sketches. The visual representation may also suggest meaningful steps to take.
Understand the purpose of the problem and key points (This is called abstraction in Computational Thinking, we want to retain only the important features of the problem, and discard irrelevant information.
Explictly list known and unknown values, using variable names (not just numbers) - again a type of abstraction.
Explicitly state the governing principles that apply to the problem. Be certain you inderstand how these principles apply to the particular problem, if your not sure you can choose to ignore later on in the problem.
Think about how to solve the problem before you actually begin. Many problems can be solved multiple different ways, some elegant, some ugly. Will you need a computer? Are you going to use a librarian approach (Chegg)? How will you present results? Advance planning will save you a lot of time.
Take time to solve the problem; develop the solution in an orderly and logical fashion. Be sure the work is clearly labeled.
Once you have a solution think about it. Does it make sense? What assurance do you have that it is correct? Incorrect results can often be detected by some afterthought.
This reflection step is especially important if you Chegg the solution; the Chegg AI “tutors” are only pattern matching. Check that the Chegg solution actually solves your problem and uses the same inputs. If you are using a live human Chegg tutor, the pattern match is probably accurate
Be sure the solution is clear and complete. Is the solution presented in an orderly fashion? Are the results labeled? Are units included with the numerical answers? Is the logic employed clear? Did you Chegg the solution? If yes, then you need to cite the source. Did you get the solution from a blog post? Library? etc. Cite the source you used. Is a table or graph required to present the results in a clear and consise manner?
Problem solving is a skill that takes time and practice. One gets better with a greater variety of increasingly complex problems.