# Programming Basics/Introduction/What is an algorithm?

Programming is a process similar to problem solving. It consists of posing a problem, breaking it down into several small problems, then solving each of these small problems in order to arrive at the final solution. The breakdown of this problem will lead to the creation of an algorithm.

**What is an algorithm?**

An **algorithm** is a step-by-step set of instructions that tell a computer how to solve a problem.

Algorithms are written in plain language so that it is easily understandable even by non-programmers. There are two main ways that algorithms can be represented-pseudocode and flowcharts. Pseudocode allows to represent textually an algorithm using annotations and informative text for each steps being used.

**What is pseudocode?**

**Pseudocode** is a method of writing up a set of instructions using annotations and informative text.

Flowcharts allow to represent graphically an algorithm using different symbols for the steps being used.

**What is a flowchart?**

A **flowchart** is a diagram that represents a set of instructions using standard symbols.