Problem Solving Template
Sometimes the hardest part of a challenge is undestanding what you are trying to solve, or knowing where to begin. Below is a guide to help you get started and gain momementum for developing a solution. Use a notebook, gist, or document to copy the prompts below and work through them.
- Rewrite the question in your own words
- Answer these questions:
- What assumptions will you make about this problem if you cannot ask any more clarifying questions?
- What are your reasons for making those assumptions?
- What are your initial thoughts about this problem? (high level design, 2-3 sentences)
- Identify the elements of this problem
- Searching of Data
- Sorting of Data
- Pattern Recognition
- Build/Navigate a Grid
- Math
- Language API knowledge
- Optimization
- Consider which data structure(s) do you think you’ll use? What pros/cons do you see with that choice?
- Write out a few lines of initial pseudocode: (mid-level design, NOT REAL CODE)
- Write your implementation code and test your solution (low-level design)
Reminders
-
It is okay to use Google! However, you should not google the technical challenge to find solutions unless you have completed the challenge yourself. Do use Google or documentation to look up possible enumerables that might be a part of your solution, check assumptions about your pseudo code, or for clarifying parts of the problem.
-
Please do not make your answers public.