Importance of Math in C.S.
Have you ever wondered what exactly computer science is? And all the things that lie under the subject? Computer science is the study of computers and computational systems. There are many different jobs within the computer science field, ranging from software developer, web developer, software engineer, and I.T. architect. These jobs require the programmer to understand and know different languages, such as Java, JavaScript, Python, C++, HTML, and many more. However, learning how to code is not the only thing that programmers must know. Understanding various concepts of math is also essential to programmers. To fully understand and work within computer science, programmers must learn discrete mathematics, binary mathematics, algebra, statistics, and calculus. Each of these types of math plays its role in assisting programmers in various aspects of their jobs.
History
Everything in this world has a starting place and history that follows it, and computer science is not an exception. Alan Turing is considered the founding father of modern computer science. According to The Twickenham Musem, “His revolutionary idea was to create a machine that would turn thought processes into numbers… Today all the digital computers we use work on this same principle.” Turing started as a mathematician in 1934 at the age of 22 and made his way to becoming the founding father of modern computer science. Not only that, in November of 1942, he assisted the U.S. in creating the American code breakers, which played a significant role in the defeat of Germany in World War II. He designed the base of all digital computers today and continues to leave his creations behind for future generations to use.
However, besides Alan Turing, another person contributed to modern computer science, and that was Alonzo Church. As stated in SpringerLink, “Alonzo Church introduced the concepts of algorithm and model of computation.” In 1944 he introduced mathematics to computers through his book “Introduction to Mathematical Logic.” Although Alan Turing and Alonzo Church started modern computer science, others before them had developed ideas that started computer science. The SpringerLink stated that “In the 1830s, Charles Babbage developed the idea of an automatic calculator, and in the 1840s, Ada Lovelace conceptualized computer programming. These scientific contributions are allegedly the first visionary foundations of computer science.” Babbage and Lovelace were two people who started the idea of computer science. Turing advanced the idea even future into today’s computer science. All these men had in common was that they were all mathematicians, proving just how essential mathematics is in the world of computer science.
What is the relationship?
Mathematics is a huge part of computer science. Programming can be challenging without understanding the different concepts and knowing the formulas. As stated by StoneBridge College, “you would find it challenging to make sense of abstract language, algorithms, data structures or differential equations. All of which are necessary to appreciate how computers work fully.” Understanding the various concepts and knowing precisely what they do and where to apply them is a massive help to programmers. This saves them a lot of time and effort and helps them use the correct formula for the proper assignment, and this also reduces the number of bugs that can appear in the code. There are five different types of math in computer science, and each of them plays an essential role. A programmer must know and comprehend these five types to work efficiently.
The first type of math is algebra. Algebra is a branch of mathematics that deals with symbols and the rules for manipulating those symbols. Various symbols can be used in algebra, and there are also different difficulty levels. Algebra is one of the basic mathematics that programmers must know, and it is an ancient one as well, dating back to nearly 4,000 years ago. In LiveScience, it says that “According to Jacques Sesiano in “An Introduction to the History of Algebra” (AMS, 2009), this problem is based on a Babylonian clay tablet circa 1800 B.C. Since these roots in ancient Mesopotamia, algebra has been central to many advances in science, technology, and civilization as a whole.” Algebra has advanced many aspects of the world, especially in computer science, where it allows the programmer to be able to define and analyze relationships between objects and to be able to solve limited variable issues.
Calculus is the second type of math required. In the branch of calculus, mathematics concerned with calculating instantaneous rates of change, known as “differential calculus,” and summation of infinitely numerous factors to find some whole, known as “integral calculus,” is learned. Modern calculus was developed by mathematicians Issac Newton and Gottfried Wilhelm Leibniz during the 17th century. However, the root of calculus dates back much further. As stated by Britannica, “The roots of calculus lie in some of the oldest geometry problems on record. The Egyptian Rhind papyrus (c. 1650 BCE) gives rules for finding the area of a circle and the volume of a truncated pyramid. Ancient Greek geometers investigated finding tangents to curves, the center of gravity of plane and solid figures, and the volumes of objects formed.” Calculus has a very long history, but its purpose is to understand the rate of change and create different algorithms that can solve various problems to assist programmers with their code.
The third type is statistics. Reading and understanding data is an essential part of computer science. In the branch of statistics, analysis, interpretation, and display of numerical data are taught. In Britannica, it is said, “During the 19th century, statistics grew up as the empirical science of the state and gained preeminence as a form of social knowledge.” However, the invention of statistics dates back to 1662 when an English statistician John Graunt published a collection of numbers and observations about morality in London. Statistics can be used in many different ways. Nonetheless, to a programmer, statistics enables them to utilize the data they have collected in the most efficient way possible for any projects they are working on.
Finally, the last two types are discrete and binary mathematics. Discrete mathematics studies structures that can be considered discrete rather than continuous. The origin of discrete mathematics dates back to the sixth century, when the Hindus formulated the concepts. It is stated in IAS, “The originators… were the Hindus, who knew the formulae for the number of permutations of a set of n elements, and the number of subsets of cardinality k in a set of n elements already in the sixth century.” After the sixth century, discrete mathematics continues to advance to what we know of today.
On the other hand, binary mathematics is a number system that only uses 0 and 1 to create and represent different data. Binary mathematics dates back to the 17th century, and Gottfried Wilhelm Leibniz was the person who made the most contribution. However, as stated in Convertb1nry, “earlier civilizations in Egypt and China used the binary system for rudimentary counting and arithmetic.” Binary and discrete mathematics have their own rules and concepts. Still, in the end, they both assist the programmer allowing the user to create complicated software and understand how data is stored and which number series represents which numbers.
Benefits
Knowing the five types of math allows the programmer to understand how the algorithms work in a code. However, that is not the only thing that mathematics assists a programmer with. While there are many different types of jobs in computer science, artificial intelligence is a branch that is growing very fast. A.I. is the core of many products on the market, such as Amazon’s Alexa, Google’s Nest, Lyft, and Uber. Another thing that A.I. is the core of is driverless cars that are being developed. It is crucial to construct the correct code. However, this would not be possible if the programmer did not accurately calculate certain car features. As stated by WGU, “to build a self-driving car, a computer programmer must be able to use mathematical equations to program turns, acceleration, emergency braking, etc.” Developing the programs accurately ensures safety to the users and saves the programmers a lot of time and effort in debugging the code.
Takeaway
Computer science has many different aspects to it. However, to understand these various elements and become a good programmer, one must understand the five different types of mathematics, algebra, calculus, statistics, binary mathematics, and discrete mathematics. Once a programmer has a grasp on these concepts, they will be able to open many different doors, leading them to many new places within the world of computer science and other places in other fields of work. Computer science is one of the fastest-growing work fields and, in one way or another, is connected to all the jobs out in the world, whether it is frequently used or not. Even if it isn’t used often, one must understand the basics of computer science mathematics. Understanding it will make the jobs and paths that programmers or anyone using much smoother and more straightforward. So, as hard as the concepts may seem, never skip out on them because knowing the basics is the key to many beautiful doors in life.