**Many** people have heard that “people who learn to program need clear logic and reasoning ability, so they should be good at mathematics”.

At the same time, some people say that not knowing mathematics will not affect programming.

## Does coding need math?

No, mathematics is **not** necessary for programming. However, there is a **correlation** between understanding mathematics and being able to “think algorithmically”.

Although programming may not require advanced mathematics, the thinking process of programming and mathematics is very similar. By starting with the foundation of a known thing, you can reach a **new** understanding. You can’t skip steps, you have to do it step by step, which is the same as programming.

## What math is used in Scratch?

When students use Scratch programming, there are many tools that can support mathematics. Let’s give two examples.

**1. Cartesian coordinates**

These blocks in Scratch use knowledge of coordinates.

The coordinate system in Scratch is a common plane coordinate system. The horizontal direction is the x-axis and the vertical direction is the y-axis. The positive direction of the x-axis is horizontal to the right, and the positive direction of the y-axis is vertical to the top.

In the process of moving the character, Scratch will automatically monitor and update the coordinate position of the character. It will judge the position of the character through the coordinates, and move the cy-axiser through the code containing the coordinates to create works.

Coordinates are mathematical knowledge contained in scratch.

*2. Arithmetic operator*

The blocks in the “Operation Area” contain some mathematical calculation tools, such as addition, subtraction, multiplication, and division.

From the beginning, students using Scratch have been exploring mathematical concepts.

## Does a poor foundation in mathematics affect the learning of programming?

Poor mathematical foundation does not affect learning programming. There are several situations that really affect programming learning:

1. * I like reading books and watching videos, but I don’t like coding*. Accustomed to passive learning and not loving practice, it is difficult to learn how to program.

2. * Logical thinking is not rigorous and important details are missed. *The program will eventually be executed by the computer, and any flaws in the logic will be detected by the computer.

3. * When encountering complex problems*, I don’t know how to implement them one by one after disassembly.

Therefore, for programming, just do the following:

*1. Attach importance to practice.*

2. When writing code, *think about the running process line by line.*

** 3. Don’t be afraid of problems. **Try to solve the problem from the part you are sure of.

After a period of persistence in this way, you can naturally master programming technology.

When we encounter very complex problems in future programming studies, the role of mathematics will gradually be reflected. Even the mathematics knowledge from high school and college is not enough, so** it is not too late to make up for it.**

Therefore, it is unnecessary for programming beginners to **struggle** with the problem of whether mathematical knowledge is enough.