First, writing programs reflects a person's logical thinking. Since it involves logic, it must have something to do with mathematics. But the depth of the relationship with mathematics depends on the aspects you are involved in.
Second, the programming must learn mathematics:
The most basic knowledge of 1. number sum operation: the concept of binary (which has direct application in Huffman tree, Havermann coding, etc. ), the concept of remainder (used in circular linked list and random number), basic plane geometry (used in drawing windows, curves, custom buttons and other graphics), and some very basic mathematical knowledge are absolutely not beyond the scope of junior high school.
2. Mathematical knowledge in computer: The main course is called discrete mathematics, which is about the related knowledge of logical algebra. In fact, the importance of this course will not be directly reflected in real programming. For beginners, it is enough to know what is right and wrong and what is setting. Discrete mathematics also involves some concepts of graphs and trees, which I will put into the data structure first.
3. As I said before, programming is directly related to your needs, and some programming fields are inseparable from mathematical knowledge:
1) Do the bottom layer: For example, if you want to design your own windows font, it will definitely involve font smoothing, which involves a difficult mathematical knowledge: interpolation. All this knowledge is explained by numerical analysis. Without the foundation of advanced mathematics, the possibility of learning this course is almost zero. . . This course mainly talks about how to use computers to solve problems in advanced mathematics, such as Taylor interpolation, Lagrange interpolation, and solving general equations or differential equations. Anyway, I forgot that it is very difficult knowledge. And many low-level programs are based on these.
2) Graphics: CG technology is in full swing in the game, which makes many junior and senior high school students fascinated by graphics for a long time, but they don't know that the knowledge of computer graphics is based on many college mathematics courses. Especially the study of graphic theory, it is impossible to understand without the foundation of linear algebra. In the aspect of three-dimensional view, it also involves the knowledge of polar coordinates in advanced mathematics. Many algorithms, such as beam -Baskey algorithm, require very high plane geometric analysis! If you want to engage in game design and animated films (this is a script writing program, otherwise the picture can't be so good), I advise you to go to college for further study.
3) engage in algorithms: learning algorithms is better than learning mathematics, but it is better to say that intelligence is better. . . Such as divide-and-conquer method, dynamic programming algorithm, backtracking method, etc. There are high requirements for the preliminary analysis of the problem, especially for listing recursive equations, which I think is an intelligence test. Others, such as graphic algorithm, tree application, sorting and searching, involve another course of computer major: data structure, which is one of the core courses of computer major and the biggest difference between major and non-major. This course does not require high mathematics, but it requires high thinking. There are also problems like computational geometry, which are purely mathematical problems. . .
4) engage in cryptography: I don't engage in this field, and I haven't studied it, but I heard that it is extremely demanding on mathematics! Because I am good at math, I have always been recommended to do this, but I flinch at the thought of facing numbers. . .
The above is the branch of computer related to mathematics that I know. Every aspect is enough for a lifetime, and you can learn well, and your future and money are great!
Third, so many aspects are related to mathematics, can't you learn programming? There are still some aspects that have relatively low requirements for mathematics. I say relatively low because no matter which aspect will involve some basic mathematical algorithms. Generally speaking, the higher the level, the lower the requirements for mathematics. For example, MFC, network programming and system programming are packaged, but overall planning and design are more critical for a system, that is to say, early demand analysis, logical structure design and physical structure design are more important than coding, and of course the salary is higher. . .
Finally, I want to give you some advice on learning programming:
1) As you are still young, I hope you don't put too much energy into it, because of the education and physical problems in China. . . I think you know. Although I have heard that a child becomes a millionaire after playing a game, it seems that he is the only one after so many years. Don't doubt your own strength, but don't fantasize that you have this luck. . .
2) Programming pays attention to logical thinking. You are a junior high school student, and you don't know whether your brain is mature (by no means that you have low intelligence, you should know that brain development has stages), so you should focus on the language foundation, and the requirements for mathematics are not very high.
3) Please choose a language to practice. Programming pays attention to practice. There is no practice, only theory shows that you have not studied, so you must practice more. As for languages, I suggest learning C or C++. As for what C and C++ are and how to learn them, this is another difficult topic. . . Be careful not to learn VC++(MFC), or you will accomplish nothing!
4) Programming is boring, so be patient. Don't flinch when you see a problem. Throw away the book when you see a concept you can't understand. If not, please look at the basics. Probably the language foundation is not in place.
That's all. I hope my answer will help you. You can keep asking questions. If you encounter any problems in the programming process, you can also call me. You are very welcome!