Problem Solving StrategiesGeeta Vinnakota11/1/2012
Types of Probelms● Easy: Visualize the solution or the path to thesolution right away● Medium: Visualize the path to the solutionafter certain level of engagement● Hard: Visualize the path to the solution aftertrying various strategies
Solving Strategies for HardProblems● Optimistic Attitude: Belief that most problemscan be solved with perseverance● Simplify: Break it down to simpler problems.● Whiteboarding: Make figures, sketches, flowdiagrams● Ask Questions: Yourself & Others
● Heuristics: Rules of thumb, that may or maynot work, but will throw more light and help usget started● Externalize: Free the mental RAM by puttingideas on paper in the form of notes, diagramsor other ( Brain can hold only so muchinformation at a time )
● Mini Milestones: Set tiny milestones tomotivate yourself to proceed further● Go for a walk, Sleep on it ( let thesubconscious work for you )
Learning Strategies● Identify the common tasks that take up mostof your time as a programmer (New FeatureConception & Implementation, Bug Fixing..)● Identify your current workflow & check forscope for optimization● Look at the practices of co-workers or othersin the community
Common Falacies● Lack of Perseverance● Trying to figure the entire problem instead ofbreaking it down● Approaching with a “I know it or not know it”attitude● Not taking the time to reflect on the solutionbefore moving on.
Improvement Strategies● Do not rush to finish and move on● Explore the problem space & the standardproblems and solutions in that space● Identify variations of the problem● Identify your approach towards the problem● Look for alternate, more efficient solutions &trade-offs