Everyday we encounter or face different kinds of problems. Each problem has got it’s own scope and field. Some of them you might solve quite easily but some of them might be difficult to solve at that moment. It might take a while before it gets solved. But every problem has got a solution.

There might be times where you get stuck in a problem for hours and suddenly you lose the confidence of solving it. It’s like you fall into a hole and cannot come out of it. You lose the sense of direction and approach in terms of problem solving. Fortunately there is a way to prevent or at least reduce the chances of this situation occurring.

Computer Science has an approach for solving computational problems. But this approach can be applied across different fields and to your life as well. It is basically like this, if the problem is big and appears difficult to solve, then divide that problem into smaller sub parts/ problems and see whether it is solvable. If you don’t think you can solve it, continue to divide it until you feel that you can solve the problem.

Then in terms of solving the problem one follows a reverse approach. Solve each sub part and then combine the solutions which would solve a bigger problem. Continue this approach until you finally get the solution to the actual “main” problem.

This approach even though is quite prevalent and used in different areas of computer science, is quite extensively used in functional programming. Here the whole code is written with different functions, each function solving a sub part of the problem. Some of the functional programming languages are Lisp, Python and Perl.