What do you learn in Programming Logic?
• Understanding of problems, Feasibility and Requirement Analysis
• Flow Chart and Algorithm
• Program Coding
• Testing and Debugging
• Implementation
• Evaluation and Maintenance
• Documentation

Problems solving techniques or Logics

First and foremost step of solving a problem is knowing about the nature of the problem in order to solve it. Almost all types of problems can be solved with the computer. However, the correct formulation of the problem in computer understandable terms is essential to formulate the problem and solve it using a computer.

1. Understanding of problems, Feasibility and Requirement Analysis
In order to start to develop a solution to a problem using a computer, we need to first understand the problem, its nature, complexities, and others. Problems can be of various nature and we need to understand the problems first to be able to solve it using a computer. Once the problem has been understood and we can solve it using the computer, the feasibility of the problem solving needs to be determined. We can solve a problem using various logic but what needs to be worked out is the most feasible solution that can be derived with the least amount of complexities. Another major portion of solving problems using the computer is the analysis of the requirements. The solution to the problem can be solved however the requirements required is beyond the possible technologies of today. Then the solution may not be feasible to the problem.

2. Design Flow Chart and Algorithm

a. Algorithm

An algorithm is a solution to a computer programming problem. In other words, a step by step procedure for developing a problem is called an algorithm. Algorithms can be written in two different ways. Pseudocode English like steps that describe the solution. Pseudocode is an artificial and informal language that helps programmers develop algorithms. Pseudocode is a "text-based" detail (algorithmic) design tool. The rules of Pseudocode are reasonably straightforward. All statements showing "dependency" are to be indented. These include while, do, for, if, switch.

For example:
Set total to zero
While grade counter is less than or equal to ten
Set the class average to the total divided by ten
Print the class average

Flow Chart:

Pictures Detailing with specific blocks detailing out the logical flow of the solution. For a better understanding of an algorithm, it is represented pictorially. The pictorial representation of an algorithm is called a Flow Chart. The algorithm and  flowchart to add two numbers can be stated as

Step1: Input numbers as a and b
Step2: Sum = x + y
Step3: Print the sum

Various symbols can be used to represent different actions like taking input, making decisions and connecting flow charts. Basic Symbols of Flow Chart
3. Program Coding
Once algorithm and flowchart have been developed the task now remains is to write programs using some high-level programming language. C, C++, Java, Python are the most popular programming language to develop programs. PHP and ASP remain a popular choice for developing web-based applications.

4. Testing and Debugging
Once the program code has been written in a selected programming language of choice the next task to complete is the testing and debugging. Testing and debugging helps to find the problems associated with the program behavior under normal and abnormal circumstances. Extensive testing, like white box testing and black box testing, integration testing needs to done before the program is deployed into the real world scenario.

5. Implementation
After a program has been written and tested it needs to be implemented to the target environment to solve the problem. Various needs of physical hardware and accessories required by the program to solve the intended problem needs to be present upon implementation. Once the program is implemented it starts to work.

6. Evaluation and Maintenance
The evaluation of the performance of the program needs to be done at frequent interval once the program or software is implemented. The advent of new technology, upscaling and downscaling of the business, request for the change from customers, finding of a new bug are the major reasons for the maintenance and change of the software. Once changes have been continuous, monitoring of the software performance needs to done to discover the flaws in the software.

7. Documentation
The same workforce that developed the program may have left the project and gone in search of opportunities. So a program must be well documented in order for the new people to understand how the software was developed and how can it be modified. The documentation starts from the very beginning of the problem formulation to the very end of the Evaluation and Maintenance.