How to be smart at Problem Solving
How are you doing guys? You are pretty frightened by the topic, aren’t you but it’s normal. Well, this will not be that “algorithms” which you hated all the semester, today you would explore how exciting it is, and know that algorithms are not that bad, which your class mates and professors “portray” them. All right, coming to the topic, I would first try to explain, how to be excellent in problem solving, or in other words how to be good in programming, algorithms design and every “courses in your university”. That’s pretty straight forward, right? But believe me, problem solving is everything. After that, I will be discussing about how to be “algorithm guru”?
A wise man once said “Education is not learning of facts, but the training of mind”. Now, give a look once more on the quote, don’t you think we are absolutely opposing this idea of education. A lot of us (students) are either worrying about grades or a job. It’s not wrong to strive for good grades or a job, but it’s not everything in your life. Most of the students in our country are pretty well in current technologies and products, they have the latest information about games, they know how great companies work, but they don’t have a good taste in how problem solving matters in our life and careers. You have often seen boxing stars practice and train for years of time after then they get to the arena to display their skills. What if they do very little training and then set off for a real fight? They would be badly hurt, and may never be able to fight again. What if someone who knows a little swimming takes off for a river, wouldn’t he be drown? Indeed, training is very important before doing things real in hand. I’m not saying you don’t need to get acquainted with current technologies, but training your mind to do problem solving and theory concepts are essential too. I think this is the real problem with our country, where most of the students and professionals are not able to work high in the fields.
Putting things in perspectives, you should always pay attention to your algorithmic and problem solving skills. You should be able to think and reason mathematically, and the most important you should be self-motivated and should set very high aims and goals. You should be an efficient, creative and innovative problem solver. Following are some rules and tricks for developing good problem solving skills in general and algorithmic skills in particular.
- Understand the problem carefully. Don’t be naïve, breakdown the problem into smaller parts and know about every part. Search for terms ambiguous to you on the web, and clearly define the given facts and information. After understanding each disintegrated part, try to join them by finding a logical connection. Focus on one part at a time.
- Once you clearly understand the problem, define it in whatever terms easy for you. That may be diagrams, tables etc. I would recommend that you define them mathematically. E.g. you can use sets, logical expressions for problem statements and so on. Please, keep in mind that your definition of problem should be correct. I suggest, these two parts should be your, like 50% time of total time. Amazed? But it’s true because a small mistake here would lead you to more havoc solutions. It’s natural to strengthen the base, before the walls.
- Now, dive in to think for solutions. Often times, your correct definition leads to the right solution, but I believe you are an innovative minded problem solver, so think one level up. Think out of the box. Never ignore the faintest idea that come to your mind. Best ideas are the simplest. Try to incorporate techniques you have seen in a company or software or even in your homes and schools. Discuss with others for ideas. Do brain storming.
That’s it for now. But the last thing I emphasize the most is that you should dream as high as you could. The only thing that is hindering from your prosperity and growth is none but yourself. Set as high goals as possible. What about being the next CEO of Microsoft? That’s crazy? Believe me it’s absolutely possible. Look for the “most difficult problem in algorithms” in the web and try to solve it. You wouldn’t be able to do at this time, but it would give you aspiration. Search the web for “how to become the best problem solver?”. Your dreams are as important to you as you exist on this planet, so keep yourself growing as no other can do this for you.