People Have wondered if good knowledge in mathematics is required to be a proficient programmer or software developer, depending on who you ask the question you will either get a Yes or a No as an answer.
The questions may not necessarily be a 'yes' or 'No' answer, it more of knowing the focus of the person involved. learning a programming language such as Java, python, c++, c#, php, ruby obviously does not require a mathematical background or knowledge. The more a person programs in a language the more proficient the person becomes, so there is no really any required mathematical skills. But being a software engineer or programmer is not just all about writing programming in a literal sense ( writing of codes ), you may need some basic mathematical skills in approaching a solution faster or getting a more optimizes solution.
Computer science is entirely different from programming, Although programming is a core part of computer science, most people outside the field or new to the field often think it is the same or that programming is the only thing in computer science. computer science deals with the science of computer, every thing about it, from bit manipulation, architecture, operating system to huge data structure. Mathematics is a core and very important part of computer science, and its relevant and indispensable for all computer science student.
Several algorithms used by programming languages and the ones used by the computer are core mathematical solutions, Mathematics is widely used in computer science research, as well as being heavily applied to graph algorithms and areas of computer vision. several topics were adopted from mathematics to computer science. Random number generator and shortest part algorithm are obvious examples of solutions derived from mathematics. Some of the early stage contributor to computer science algorithm were mathematicians although with core computer science background.
Examples of such people includes Edsger Wybe Dijkstra (professor of mathematics and computer scientist, One of the most influential perform in computer science. His fundamental contributions cover diverse areas of computing science, including compiler construction, operating systems, distributed systems, sequential and concurrent programming, programming paradigm and methodology, programming language research, program design, program development, program verification, software engineering ), Donald Ervin Knuth ( American computer scientist, mathematician, and professor emeritus. Author of The Art of Computer Programming. Knuth has been called the father of the analysis of algorithms).
Its obvious now that a person can not be a proficient computer scientist without good knowledge of mathematics . Overall, for just programming, mathematics may not be required but for other areas of computer science mathematics is a must.
Some list of mathematics for computer science resources